A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

本帖最后由 郑飞 于 2014-6-22 01:40 编辑

看了视频还是弄不明白 有点疑问
视频里举例子是:
6的负数
6=0000-0000 0000-0000 0000-0000 0000-0110
-6=1111-1111 1111-1111 1111-1111 1111-1010

但是1111-1111 1111-1111 1111-1111 1111-1010
这个数最高位不就是2的31次幂么 怎么就变成负数了啊 不明白 求教


6 个回复

倒序浏览
负数以原码的补码形式表达

补码的概念:
正数的补码与原码相同。
负数的补码为原码取反(除最高的符号位),然后在最后一位加1

-6的源码是1000-0000 0000-0000 0000-0000 0000-0110
-6的反码是1111-1111 1111-1111 1111-1111 1111-1001
-6的补码则是反码+1 : 1111-1111 1111-1111 1111-1111 1111-1010
回复 使用道具 举报
我知道啊,就是不明白 1111-1111 1111-1111 1111-1111 1111-1010怎么就成负数了啊

不也是在2的31次幂的范围内么?
回复 使用道具 举报
郑飞 发表于 2014-6-19 14:09
我知道啊,就是不明白 1111-1111 1111-1111 1111-1111 1111-1010怎么就成负数了啊

不也是在2的31次幂的范围 ...

负数是由补码表示的,去百度一下补码反码原码转换看看
回复 使用道具 举报
那你是哪里不懂啊
回复 使用道具 举报
一号位是1就是负数啊
回复 使用道具 举报
郑飞 高级黑马 2014-6-19 23:04:24
7#
啊,看了半天终于明白了 原来1111-1111 1111-1111 1111-1111 1111-1010不止2的31次幂
而是比2的31次幂大 明白了 谢谢各位..
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马