1位运算的概念9
3位段简介C语言具有汇编语言所能完成的一些功能,这是C语言的重要特色
在计算机用于检测控制领域中要用到位运算,因此要学习和掌握本章内容
1位运算的概念位运算——进行二进制位的运算
C语言提供的位运算符如下表
运算符含义&按位与|按位或^按位异或~(一目运算符)按位取反右移运算符第十二章位运算说明:⑴位运算符中除了~以外,均为二目(元)运算符,即要求两侧各有一个运算量
⑵运算量只能是整型或字符型数据,不能为实型数据
1“按位与”运算符(&)参与运算的两个数据,按二进制位进行“与”运算
⑴运算规则:相应位都为1时,该位相与的结果为1,否则为0,即0&0=01&0=00&1=01&1=1例如:3&53=00000011&5=0000010100000001值为1例如:(-3)&(-5)——先用补码表示,然后运算
(-3)=11111101&(-5)=11111011111110019
2位运算⑵用途:①清零:用0去“与”某一位,使该位清零
如想将一个单元清零,即使其全部二进制位为0,只要找一个二进制数,其中各个位符合以下条件:原来数中为1的位,新数中相应位为0,然后使二者进行&运算即可
例如:使低4位为011011001&1111000011010000低4位为0②保留一个数中的某些位
用1去“与”某一位,保留该位
如:保留低4位10101100&0000111100001100保留低4位③保留其中某些位,将它与这些位为1的数作“与”运算
例如:有一数01010100,想保留其左起的第3、4、5、7、8位,01010100&0011101100010000计算机中的控制字各个位表示某些设备的状态,状态发生变化,各个位通过位运算改变数值
2按位或运算符(|)——两个数的相应位按位或(1)运算规则:相应位只要有一个为1,该位相或的