黑马程序员技术交流社区

标题: byte的问题 [打印本页]

作者: 王骥    时间: 2015-6-18 22:54
标题: byte的问题
byte a =(byte)130为什么会是负的啊
作者: hufu4635    时间: 2015-6-18 23:12
130不属于byte范围内,强转成byte就容易丢失精度,出现负数的情况
作者: 林RM    时间: 2015-6-18 23:47
byte的范围是-128-127
作者: 金亮0602    时间: 2015-6-19 00:20
超出byte范围的直接被删掉了
作者: 迷路的小孩儿    时间: 2015-6-19 09:09
学习了     
作者: GiveUp    时间: 2015-6-19 15:40
先将130化成二进制的形式,然后截取属于byte能够容纳的部分,注意,这时候取得的应该是补码,将其换算成源码,然后再化成十进制,就是得到的结果了。
作者: 为了理想而奋斗    时间: 2015-6-19 17:52
不在范围内,丢失精度。强制转换可以用等等
作者: qian0217wei    时间: 2015-6-19 18:31
王冀你又水了!
作者: msxhm    时间: 2015-6-19 18:53
强制转换被丢失了精度呗~
作者: 半山岩    时间: 2015-6-19 21:17
旁观也受益匪浅了
作者: 走在路上    时间: 2015-6-19 22:04
本帖最后由 走在路上 于 2015-6-19 22:10 编辑

130是int类型的数,将int类型强转成byte类型,容易丢失精度.byte的取值范围是-128——127,所以强转就出现了负数
作者: cyd1058    时间: 2015-6-19 22:28
超出了byte的范围
作者: mls123456    时间: 2015-7-5 00:56
因为byte 的范围是-128~127,超过就是负数了
作者: home7192    时间: 2015-7-5 01:16
学习了,说的很全面!
作者: 为明天而奋斗    时间: 2015-7-5 01:51
130的2进制表现形式是0000 0000 0000 0000 0000 0000 1000 0010 转为byte的话虽然还是1000 0010
作者: 为明天而奋斗    时间: 2015-7-5 01:55
int型130的2进制表现形式是0000 0000 0000 0000 0000 0000 1000 0010 转为byte后2进制就是1000 0010最高位是1了,而负数的最高位是1,所以这个数就是负数啦
作者: 乔栋    时间: 2015-7-5 07:32
byte 范围-128----127
作者: nanfp    时间: 2015-7-5 08:10
说的好。。
作者: 吃荷包蛋    时间: 2015-7-5 11:56
因为130超出了范围
作者: zhjunwenyy    时间: 2015-7-5 14:50
int是4个字节32位,byte是1个字节8位, 强转时直接获取int的后八位, 失去精度了
作者: icichacici    时间: 2015-7-5 15:42
因为byte类型范围是-128~127,强转成byte就丢失精度。
作者: 牵着蜗牛去逛街    时间: 2015-7-5 16:24
yte a =(byte)130这样写本省就有问题byte只占一个字节它的范围是-128~127 强制转换会丢失精度
作者: samove    时间: 2015-7-5 20:20
楼上各位大神已经解释的很清楚了,我也来学习学习
作者: 白面馅包子    时间: 2015-7-5 20:42
byte 范围   -2的7次幂   到  2的7次幂-1
作者: 形而上孤独    时间: 2015-7-5 21:55
学习了!
作者: 鹰隼展翼    时间: 2015-7-5 22:18
130超出byte范围了将130转换成130的补码
计算过程补码10000010

作者: 鹰隼展翼    时间: 2015-7-5 22:19
鹰隼展翼 发表于 2015-7-5 22:18
130超出byte范围了将130转换成130的补码
计算过程补码10000010

转换成反码10000001
转换成原码11111110 =-126
作者: 张业涛    时间: 2015-7-5 22:20
byte的范围是-128到127
作者: xuhao3622603    时间: 2015-7-5 22:23
损失精度
作者: tinibuzhi    时间: 2015-7-5 22:39
学习了      




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