黑马程序员技术交流社区
标题:
二进制求补码与砍前三位的字节问题,自己的测验结果
[打印本页]
作者:
kaysun
时间:
2015-9-7 21:36
标题:
二进制求补码与砍前三位的字节问题,自己的测验结果
第二题:
byte by = 130;有没有问题?有问题如何解决?结果是多少呢?
有问题,因为byte的取值范围是-128~127 130超了,会造成精度丢失
130
原码:10000010
反码:11111101
补码:11111110 //-126
140
原码:10001100
反码:11110011
补码:11110100 //-116
-300
原码:1 00101100
反码: 00101100
补码: 00101100 //44
正数原反补都一样
-130
原码:10000010
反码:11111101
补码:11111110 //-126
运算时不管原来是正是负,不根据原来数值判断反码变不变
先砍掉,再看首个数是正还是负,由这个数判断,反码变不变
例如-130 先按照int类型写下他的二进制,第32位是一,但是这时
先砍掉前面的三个字节,再来判断正负,根据正负写元反补,
(不是直接判断正负,再来写下原反补,再砍掉)
他的byte类型数值第一位是0,他就按照正数的原反补来
两数相加的问题
运算是原码转成补码运算依靠补码,还有结果就是补码的值,不用再由补码转回原码
作者:
ehehe
时间:
2015-9-7 21:38
这东西可以直接忽略不用管
作者:
kaysun
时间:
2015-9-7 21:41
ehehe 发表于 2015-9-7 21:38
这东西可以直接忽略不用管
恩恩,算完了,我舍友告诉我基本用不上,重点没在这里
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2