黑马程序员技术交流社区

标题: byte 的表数范围为什么是-128到127 我怎么算不出-128 [打印本页]

作者: 迷路的小孩儿    时间: 2015-5-31 14:43
标题: byte 的表数范围为什么是-128到127 我怎么算不出-128
byte 的表数范围为什么是-128到127  我怎么算不出-128  感觉有点晕。求解。
byte表示1个字节。一个字节表示8位。用二进制表示是:1111  1111   
最高位是符号位 ,如果想要数值最大。那么最高位应该是0(表示正数)
此数位的二进制表示应为:0111  1111   计算出十进制为127

但是我却算不出-128
作者: 石头888    时间: 2015-5-31 15:08
学习学习!
作者: 18530919536    时间: 2015-5-31 15:11
第一位应该是符号位吧,应该跟补码有关,
作者: mmakun    时间: 2015-5-31 15:16
第一位是符号位
作者: forTomorrow    时间: 2015-5-31 15:24
最小值:第一位是符号位,所以是1,后7位全用0表示,即1000 0000,它表示最小值,那究竟表示十进制多少呢 ,关于负数的值,java规定是后面7位的二进制码的补码,即取反加1,算出十进制值,然后再带上前面的符号(-),
过程:1->000 0000取反 即111 1111 =127
         2->加1 = 128
         3->带上符号=-128
作者: 迷路的小孩儿    时间: 2015-5-31 15:30
forTomorrow 发表于 2015-5-31 15:24
最小值:第一位是符号位,所以是1,后7位全用0表示,即1000 0000,它表示最小值,那究竟表示十进制多少呢  ...

谢谢     谢谢  非常感谢。  可以交个朋友不。我的qq1083018911
作者: forTomorrow    时间: 2015-5-31 16:01
迷路的小孩儿 发表于 2015-5-31 15:30
谢谢     谢谢  非常感谢。  可以交个朋友不。我的qq1083018911

我也是新人,自学的,最近在走就业班的入学流程呢,惭愧!
作者: 迷路的小孩儿    时间: 2015-6-1 13:55
forTomorrow 发表于 2015-5-31 16:01
我也是新人,自学的,最近在走就业班的入学流程呢,惭愧!

没事  没事  咱们可以共同进步。谢谢谢谢哈    :)
作者: 迷路的小孩儿    时间: 2015-6-1 14:02
mmakun 发表于 2015-5-31 15:16
第一位是符号位

恩恩        
作者: 迷路的小孩儿    时间: 2015-6-1 14:11
谢谢大家的帮助。谢谢     




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2