请问java里面/2的实质到底是什么,谢谢

zapdos 2008-07-25 04:53:37
我以前一直以为是简单的>>1
后来发现
(-Integer.MAX_VALUE)/2结果是
11000000000000000000000000000001,-1073741823
...全文
73 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mim198500 2008-07-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zapdos 的回复:]
难道是
负数(i+1)>>1
正数i>>1
[/Quote]
然后再取反

建议去看下计算机基础,关于2进制的内容
zapdos 2008-07-25
  • 打赏
  • 举报
回复
难道是
负数(i+1)>>1
正数i>>1
mim198500 2008-07-25
  • 打赏
  • 举报
回复
这是补码吧?
左1是符号位,你将这个数从左2到末尾取反+1,不是MAX_VALUE的2进制右移1位结果么?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧