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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

byte在内存中占一个字节,8个bite位,第一位是符号位,取值范围不应该是从11111111~01111111吗,也就是-127到+127,为何是-128-127.
-128的二进制表现形式是什么?第一个位0或1是正负符号位啊

14 个回复

倒序浏览
byte 的内存中是2的7次方,而不是8次方的原因是因为:8位二进制中的最高位是符号位,不在计算之列,,所以剩下7位,也就是我们看到的2的7次方了
回复 使用道具 举报
不过我也想知道,为什么正的2的7次方还要减1 ,,是什么原因
回复 使用道具 举报
。。。用最笨的方法,转换为十进制你就知道了
回复 使用道具 举报
含笑 发表于 2015-6-22 21:37
不过我也想知道,为什么正的2的7次方还要减1 ,,是什么原因

正的2^7-1就是01111111啊,第一位是符号位. 我不理解的是为何-2^7不减一.
回复 使用道具 举报
当符号位为0时,00000000到01111111对应了数轴上从0到127这些数字
当符号位为1时,10000000到11111111对应了数轴上从-128到-1这些数字
回复 使用道具 举报 1 0
-128  也就是10000000
反码            11111111
补码            10000000
第一位不应该是符号位,值应该是0才对啊
回复 使用道具 举报
在负数是1有两种属性
回复 使用道具 举报
安安安 发表于 2015-6-22 21:46
当符号位为0时,00000000到01111111对应了数轴上从0到127这些数字
当符号位为1时,10000000到11111111对应了 ...

或者这么想。
负数最小的是1000,0000     -128
取反+1:
取反:0111,1111               取反 = 127
+1:100000000                   127+1=128再加上符号就是-128
回复 使用道具 举报
如果说你是不理解为什么负数比整数多1个的话。
可以想正数有个0.
回复 使用道具 举报
:lol这么坑爹的牛角尖,新人就不要钻了吧,记住就好了,感觉万年难得用到
回复 使用道具 举报
明天问问老师。。
回复 使用道具 举报
含笑 发表于 2015-6-22 21:37
不过我也想知道,为什么正的2的7次方还要减1 ,,是什么原因

不减一的话  就直接超出范围了 它的范围就是-128 到  127 啊
回复 使用道具 举报
含笑 发表于 2015-6-22 21:37
不过我也想知道,为什么正的2的7次方还要减1 ,,是什么原因

应该是0  代替了  0000 0000    把
回复 使用道具 举报
-128~127,,,,,,,,,,,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马