#include<stdio.h>
int main(void)
{
int a=0x11;
printf("\n %d",a);
int b=10;
int c=(a&b);
printf("\t %d",c);
return 0;
}这个程序的操作程序是
17 0
但我希望这个程序能够对比特进行操作,从而导致
17 . 16
为什么输出是0?
发布于 2015-07-27 20:40:56
在二进制符号中,0x11是
0001 0001而10是
0000 1010正如您很容易看到的,这些值没有公共的1位。因此,这些值之间按位和操作的结果是0。你为什么指望它生产16?
发布于 2015-07-27 20:19:57
在您的示例中,b的十进制值为10,而不是十六进制值10。
int b=10;至
int b=0x10;https://stackoverflow.com/questions/31662456
复制相似问题