【摘要】:对于一个变量a,左移运算是将a的每位二进制代码向左移动,移动之后高位丢失、低位补0。对于Visual C++和C-Free及Turbo C系统,若a是无符号数和正整数,则高位补0;若a是负整数,则高位补1。例如,若字符型变量a代码为00001011,a>>2是将a的每位二进制代码向右移动2位,移动后为00000010。运算规则:1|1=1;0|1=1;1|0=1;0|0=0。
C语言中的位运算包括按位取反运算、左(右)移运算、按位与运算、按位或运算等。
1.按位取反运算
按位取反运算符为~。对于一个变量a,取反运算~a是将a的每位二进制代码取反,即将a的二进制代码中的0变为1、将1变为0。
2.左移运算
左移运算符为<<。对于一个变量a,左移运算是将a的每位二进制代码向左移动,移动之后高位丢失、低位补0。
例如,若a是字符型变量,a的二进制代码为00001011,a<<2是将a的每位二进制代码向左移动2位,移动后为00101100。
3.右移运算
右移运算符为>>。对于一个变量a,右移运算是将a的每位二进制代码向右移动,移动之后低位丢失、高位补0(或补1)。(www.daowen.com)
对于Visual C++和C-Free及Turbo C系统,若a是无符号数和正整数,则高位补0;若a是负整数,则高位补1。例如,若字符型变量a代码为00001011,a>>2是将a的每位二进制代码向右移动2位,移动后为00000010。
4.按位与运算
按位与运算符为&。对于变量a和b,按位与运算a&b是将a和b的各对应二进制位作&运算。运算规则:1&1=1;0&1=0;1&0=0;0&0=0。
5.按位或运算
按位或运算符为|。对于变量a和b,按位或运算a|b是将a和b的各对应二进制位作|运算。运算规则:1|1=1;0|1=1;1|0=1;0|0=0。
6.按位异或运算
按位异或运算符为^。对于变量a和b,按位异或运算a^b是将a和b的各对应二进制位进行^运算。运算规则:1^1=0;0^1=1;1^0=1;0^0=0。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关C语言程序设计的文章