啃C的菜鸟 发表于 2019-11-20 11:35:12

这种题怎么做

设x=2   y=3,则x&y的结果是什么?麻烦大神说详细点!

jackz007 发表于 2019-11-20 11:49:44

本帖最后由 jackz007 于 2019-11-20 14:17 编辑

       2 的 二进制表述为 10,3 的二进制表述为 11,这两个数每个数都有两个二进制位(二进制的两位数),2 & 3 的操作就是把两个数对应的二进制位做测试,如果两个数相同位的值都是 1,那么,该位的操作的结果为 1,否则为 0。
2:   1   0
3:   1   1
-----------------
2:   1   0
      所以,不难看出,2 & 3 的结果是 2
#include <stdio.h>

main(void)
{
      printf("2 & 3 = %d\n" , 2 & 3) ;
}
      编译运行实况:
C:\Bin>g++ -o a a.c

C:\Bin>a
2 & 3 = 2

C:\Bin>
页: [1]
查看完整版本: 这种题怎么做