一个32位寄存器,寄存器名为R2,若要将该寄存器的第7位设置为0,其他位保持不变,使用C语言,下列代码正确的是( )A,\x05R2 |= (0x80);; B,R2 |= (0x40); C,R2 &= (0x40); D,R2 &= (0x80);怎么算的?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 12:35:15
一个32位寄存器,寄存器名为R2,若要将该寄存器的第7位设置为0,其他位保持不变,使用C语言,下列代码正确的是( )A,\x05R2 |= (0x80);; B,R2 |= (0x40); C,R2 &= (0x40); D,R2 &= (0x80);怎么算的?

一个32位寄存器,寄存器名为R2,若要将该寄存器的第7位设置为0,其他位保持不变,使用C语言,下列代码正确的是( )A,\x05R2 |= (0x80);; B,R2 |= (0x40); C,R2 &= (0x40); D,R2 &= (0x80);怎么算的?
一个32位寄存器,寄存器名为R2,若要将该寄存器的第7位设置为0,其他位保持不变,使用C语言,下列代码正确的是( )
A,\x05R2 |= (0x80);; B,R2 |= (0x40);
C,R2 &= (0x40); D,R2 &= (0x80);
怎么算的?

一个32位寄存器,寄存器名为R2,若要将该寄存器的第7位设置为0,其他位保持不变,使用C语言,下列代码正确的是( )A,\x05R2 |= (0x80);; B,R2 |= (0x40); C,R2 &= (0x40); D,R2 &= (0x80);怎么算的?
C
0X40=0100 0000
~0X40=1011 1111
再与上(R2),这样R2中的第7位就变成0了,
关键是看出题的人怎么理解这第7位,如果最低位是第0位的话,那么答案就是A了.