标题: C语言位运算符在程序中的作用 [打印本页] 作者: 51黑er 时间: 2015-11-9 21:17 标题: C语言位运算符在程序中的作用 C语言运算符主要包括:与、或、异或、取反、左移和右移 一、按位与(&)
如果两个相应的二进制位都为1,则该位的结果值为1,否则为0
应用:
1.清零
若想对一个存储单元清零,即使其全部二进制位为0,只要找一个二进制数,其中各个位符合一下条件:
原来的数中为1的位,新数中相应位为0。然后使二者进行&运算,即可达到清零目的。
a 00101011
b 10010100
c 00000000 //c = a & b
2.取一个书中某些指定位
若有一个整数a(2byte),想要取其中的低字节,只需要将a与8个1按位与即可。
a 00101100 10101100
b 00000000 11111111
c 00000000 10101100 //c = a & b
3.保留指定位
a 01010100
b 00111011
c 00010000 //c = a & b
二、按位或(|)
两个相应的二进制位中只要有一个为1,该位的结果值为1。借用逻辑学中或运算的话来说就是,一真为真
应用:将一个数据的某些位定值为1
a 00110000
b 00001111
c 00111111 //c = a | b