Byte b=new Byte((byte)128)为什么b=-128

page3 2006-11-15 10:02:08
肯定和Wrapper Class有关,但是究竟怎么算出来的呢

比如把128改成129,b就等于-127了,改称无限大比如999999,b就变成-1了
...全文
533 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jk88811 2006-11-17
  • 打赏
  • 举报
回复
计算机组成课里有讲的...

楼上几位兄弟分析得不错!!
qgexing13 2006-11-16
  • 打赏
  • 举报
回复
byte范围是-128~127 它可以表示256个数

为什么会出现这样的结果呢,举个例子说明,
假如时钟的12点改成0点,那么时间就是从0------11,可以表示12个数
现在时间是11点 再加1就是0点了,而不是12点。为什么呢,因为11+1-12=0。
同理 128实际上是这样的 128-256=-128。  129-256=-127。

至于到底为什么会这样,这是内存溢出的结果,详细可以看看汇编语言
beexk 2006-11-16
  • 打赏
  • 举报
回复
溢出
luyang1016 2006-11-16
  • 打赏
  • 举报
回复
byte 范围:-128 ----------127
newbinmaster 2006-11-16
  • 打赏
  • 举报
回复
byte范围是-128~127 它可以表示256个数

为什么会出现这样的结果呢,举个例子说明,
假如时钟的12点改成0点,那么时间就是从0------11,可以表示12个数
现在时间是11点 再加1就是0点了,而不是12点。为什么呢,因为11+1-12=0。
同理 128实际上是这样的 128-256=-128。  129-256=-127。

至于到底为什么会这样,这是内存溢出的结果,详细可以看看汇编语言

==========================================================
说的不错,我也是这样想的,在强制转化中也是这样的
toraji 2006-11-15
  • 打赏
  • 举报
回复
byte 范围:-128 ----------127
laitaogood 2006-11-15
  • 打赏
  • 举报
回复
好象是溢出吧
88324877 2006-11-15
  • 打赏
  • 举报
回复
按照补码存储

62,615

社区成员

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

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