首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java十六进制取值的有关问题

2012-08-29 
java十六进制取值的问题byte[] b new byte[1024]b[1] -126实际这个值是2其实这是个十六进制。我朋友说b

java十六进制取值的问题
byte[] b = new byte[1024]

b[1] = -126

实际这个值是2

其实这是个十六进制。我朋友说b[1]转成十六进制后 & 0x01111111 就能得到b[1]=2了。
但他没时间了,我也不知道怎么写...求大神哇。

补充 b[1] = -127 //实际是1
b[1] = -125 //实际是3


[解决办法]
-126 --- 0x11111110 的补码 0x00000001 +1 = 0x00000010 
0x00000010 & 0x01111111 = 0x00000010 = 等于十进制的 2了
[解决办法]
-127 --- 0x11111111 的补码 0x00000000 +1 = 0x00000001
0x00000001 & 0x01111111 = 0x00000001 = 等于十进制的 1了


-125 --- 0x11111101 的补码 0x00000010 +1 = 0x00000011
0x00000011 & 0x01111111 = 0x00000011 = 等于十进制的 3了
[解决办法]

探讨
是啊。求具体JAVA代码哇。。

热点排行