我正在尝试使用 Bitwise NOT 获取整数的值,但没有得到我期望的值。
#include <stdio.h>
int main(){
int i = 16;
int j = ~i;
printf("%d", j);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
16 不应该是:
00000000000000000000000000010000
Run Code Online (Sandbox Code Playgroud)
所以 ~16 应该是:
11111111111111111111111111101111
Run Code Online (Sandbox Code Playgroud)
为什么我没有得到我期望的结果,为什么结果是负面的?
这就是我想要做的:
我有一个例如 27 的数字,它是:
00000000000000000000000000011011
Run Code Online (Sandbox Code Playgroud)
并且想要检查每一位是 1 还是 0。
所以我需要得到这个值
11111111111111111111111111110111
Run Code Online (Sandbox Code Playgroud)
使用第二个来检查第一个的第 3 位是否设置为 1。