3.4 位运算
在计算机中,数据都是以二进制数形式存放的,位运算就是指对存储单元中二进制位的运算。
考点10 位运算符和位运算
真考链接
考点10属重点识记知识点,选择题中的考核概率为90%。
C语言提供6种位运算符,见表3.2。
表3.2 位运算符
说明:
(1)位运算中除“~”以外,均为双目运算符,即要求两侧各有一个运算量。
(2)运算量只能是整型或字符型数据,不能为实型数据。
真题精选
【例1】变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是( )。
A.a∧b B.a|b C.a&b D.a<<4
【答案】 A
【解析】本题考查的是位运算的知识,对于任何二进制数,和1进行异或运算会让其取反,而和0进行异或运算不会发生任何变化,故本题答案选A。
【例2】设有定义chara,b;,若想通过a&b运算保留a的第3位和第6位的值,则b的二进制形式应是( )。
A.00100100 B.11011011 C.00010010 D.01110010
【答案】 A
【解析】由“按位与”运算的功能可知:两个对应的二进制数只要有一个为0,“按位与”的结果就为0,只有它们均为1时结果才为1。因此,若想保留a位上的数,就用1去“按位与”,其他位用0屏蔽掉。