Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中int的否定输出混淆_Java - Fatal编程技术网

java中int的否定输出混淆

java中int的否定输出混淆,java,Java,我有一个整数 求反后的a=255=>1111111,即~a=10000 0000=>-64 它不是应该是0000=>0 基本上想~255到0类似于8位二进制格式,即 1111111到0000 0000而不将其设为负数。问题在于a可能是int类型,在Java中它占用4个字节。所以你得到的是: 1111 1111 1111 1111 1111 1111 0000 0000 如果你知道你总是使用8位,你应该屏蔽结果: int b = ~a ^ 0xFF; 问题是a可能是int类型,在Java中它占

我有一个整数 求反后的a=255=>1111111,即
~a=10000 0000=>-64

它不是应该是
0000=>0

基本上想
~255到0
类似于8位二进制格式,即

1111111到0000 0000
而不将其设为负数。

问题在于
a
可能是int类型,在Java中它占用4个字节。所以你得到的是:

1111 1111 1111 1111 1111 1111 0000 0000
如果你知道你总是使用8位,你应该屏蔽结果:

int b = ~a ^ 0xFF;

问题是
a
可能是int类型,在Java中它占用4个字节。所以你得到的是:

1111 1111 1111 1111 1111 1111 0000 0000
如果你知道你总是使用8位,你应该屏蔽结果:

int b = ~a ^ 0xFF;

请出示您的密码。如何求反?另外:一个整数有4个字节答案在这里,您使用
-
进行求反(将正数替换为相同的负数),并使用
~
进行反转(翻转所有位)。它们非常相似,但不一样。请给我们看一下您的代码。如何求反?另外:一个整数有4个字节答案在这里,您使用
-
进行求反(将正数替换为相同的负数),并使用
~
进行反转(翻转所有位)。它们非常相似,但不一样。谢谢,我不知道如何屏蔽int对象。谢谢,我不知道如何屏蔽int对象。