按位操作
你可能已经知道,我们讨论过的所有整型变量在内部都是以二进制形式表示的。一个ink类型的数值由32位二进制数字组成,在计算机界被称为位。你可以使用位运算符(bitwiseoperator)按位对整型数值进行操作,有4个可用来按位操作的位运算符:
每个运算符都对独个的二进制位进行操作,如下所述:
"非"运算符~,属一元运算符,其结果对每个二进制位的内容求反,即1变为0,0变为1.
"与"运算符&,将两个操作数对应的二进制位进行"与",如果第一个操作数与第二个操作数的对应位都是1,则该位结果为1,否则该位结果为0"或"运算符1,将两个操作数对应的二进制位进行"或",如果两个操作数的对应位,其中有一个是1,则该位结果为1.只有两个对应的二进制位都是O时,该位结果才为0.
"异或"运算符^,将两个操作数对应的二进制位进行"异或",如果第一个数和第二个操作数对应的位值相同,则该位结果为0,否则该位结果为1.
在下面这个例子中,你可以看到这些运算符的操作效果。
示意图中显示了组成操作数和结果的二进制数字。在三种二进制操作中,每一种都分别作用于两个操作数所对应的位。"非"运算符对操作数中的每一位内容求反。
由于在位操作中,你关心的是每一个二进制位,所以用通常的十进制数值书写常数,不是很便利。在这种情况下,书写二进制数值的最好方法是用十六进制数值,这是因为你可以很快地将数值从二进制转换到十六进制,反之亦然。在附录E中有更加详细的介绍。
结果将互换a和b的值,但是要记住,它只能应用于整型数。我们可以用任意一对数值a和b来试验一下,例如它们分别为DxD00F和OxABAD.我们也只看每个变量的16位。第一条语句将a改变为新值:
考无忧小编推荐:
更多计算机等级考试真题及答案>>>点击查看
想知道更多关于计算机等级报考指南、考试时间和考试信息的最新资讯在这里>>>点击查看