我a=255=>1111 1111在否定之后有一个int
,即~a=10000 0000=>-64
不是它0000 0000=>0
基本上想要~255 to 0用8位二进制格式,即
1111 1111 to 0000 0000没有使它为负.
问题是a可能是int类型,在Java中占用4个字节.所以你得到的是:
1111 1111 1111 1111 1111 1111 0000 0000
Run Code Online (Sandbox Code Playgroud)
如果您知道自己总是使用8位工作,那么您应该屏蔽结果:
int b = ~a ^ 0xFF;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |