-0就是10000000
反码是11111111
补码是+1,为啥变成10000000了?????
还有正0的补码难道不是00000000?
基础问题,为很么java 正0和负0的补码是一样的
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- threenewbee 2016-08-06 09:12关注
10000000,最高位的1溢出,所以还是00000000
注意,我们不能抛开数据的存储位数,说某个数的补码。
比如-1的补码,如果是8位,就是11111111,如果是16位,就是1111111111111111。如果你不说是多少位,那么谈不上补码。
在16位下,11111111非但不是-1的补码,而且是255的补码,相差十万八千里了。
回到你的问题,为什么你发现问题了,10000000和00000000不同,因为你忽略了位数,在8位表示下,100000000只能取最低8位。解决 无用评论 打赏 举报
悬赏问题
- ¥15 FPGA-SRIO初始化失败
- ¥15 MapReduce实现倒排索引失败
- ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
- ¥15 找一位技术过硬的游戏pj程序员
- ¥15 matlab生成电测深三层曲线模型代码
- ¥50 随机森林与房贷信用风险模型
- ¥50 buildozer打包kivy app失败
- ¥30 在vs2022里运行python代码
- ¥15 不同尺寸货物如何寻找合适的包装箱型谱
- ¥15 求解 yolo算法问题