请各位大侠帮我看下这个程序嘛,谢谢哈!(那个r = r & 0x0A; 是什么意思呀)

2025-02-27 11:09:09
推荐回答(2个)
回答1:

首先,r是a的一个引用, 执行&r = a后,r的值是100
但是p是指向a的指针,所以执行*p = 10;后,a,r,*p的值都是10
r&0x0A是一个与运算
10化成二进制数为:0000 1010
0x0A(即十六进制数:0A)化成二进制数为:0000 1010
两个相与得到0000 1010,即10(十进制)

回答2:

r = r & 0x0A;
& 是按位与操作,操作数写成二进制,同一数位都为1,结果中此位置为1,否则为0