C 语言的 | 的问题
C 语言的 | 的问题
日期:2021-10-28 06:57:53 人气:1
a=077;0开头,所以是八进制数,翻译成二进制就是0111111;十进制是63;
b=a|3;其中3翻译成二进制就是11;如此,做运算a|3:
0111111 (077,也就是十进制63)
0000011 (3)
0111111 (结果就是这样的,八进制077,十进制63)
因此第一次输出为63;
然后7就是111;做运算b|=7也就是b=b|7:
0111111 (b,也就是十进制63)
0000111 (7)
b=a|3;其中3翻译成二进制就是11;如此,做运算a|3:
0111111 (077,也就是十进制63)
0000011 (3)
0111111 (结果就是这样的,八进制077,十进制63)
因此第一次输出为63;
然后7就是111;做运算b|=7也就是b=b|7:
0111111 (b,也就是十进制63)
0000111 (7)