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

java中byte运算的有关问题

2013-10-11 
java中byte运算的问题对字节等计算的细节不是很清楚。例如我对两个byte进行异或操作:byte a 0x74byte b

java中byte运算的问题
对字节等计算的细节不是很清楚。

例如我对两个byte进行异或操作:
byte a = 0x74;
byte b = 0x30;
int c = a ^ b;

a的二进制表示为01110100, b表示为00110000,那么异或操作后,按说是10111011。以反码算,数值应为-69才是。
可是我打印出来c的值是68,即01000100。 这是怎么一回事?

另外我想问一下,int c = a ^ b这条语句,从byte扩展到int,它的扩展原则是什么?是直接补0吗?如果直接补零的话,那上边的异或结果应该是187,也不对啊。
[解决办法]
楼主的数据基础要去补一补了。异或运算是同一位置上的两个2进制数相同的取0不同的取1
[解决办法]
你刚好弄反了

热点排行