您需要
L在第一个整数文字的末尾添加一个:
long a = 0x0000000080000001L ^ 0x4065DE839A6F89EEL;
否则,它是
int文字,而不是a
long(忽略前导零)。然后,
^运算符将第一个 *** 作数值从0x80000001提升为a
long,但是由于设置了符号位,因此提升的结果为0xFFFFFFFF80000001L。
欢迎分享,转载请注明来源:内存溢出
您需要
L在第一个整数文字的末尾添加一个:
long a = 0x0000000080000001L ^ 0x4065DE839A6F89EEL;
否则,它是
int文字,而不是a
long(忽略前导零)。然后,
^运算符将第一个 *** 作数值从0x80000001提升为a
long,但是由于设置了符号位,因此提升的结果为0xFFFFFFFF80000001L。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)