当前位置: 首页 > 编程语言 > C语言 > 正文

C语言基础教程(二)数据类型、变量和运算符(17)

时间:2007-05-04 王大刚
5.3 按位运算符
Turbo C和其它高级语言不同的是它完全支持按位运算符。这与汇编语言的位操作有些相似。
Turbo C中按位运算符有:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
操作符 作用
────────────────────────────
& 位逻辑与
| 位逻辑或
^ 位逻辑异或
- 位逻辑反
>> 右移
<< 左移
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
按位运算是对字节或字中的实际位进行检测、设置或移位, 它只适用于字符型和整数型变量以及它们的变体, 对其它数据类型不适用。
关系运算和逻辑运算表达式的结果只能是1或0。 而按位运算的结果可以取0或1以外的值。
要注意区别按位运算符和逻辑运算符的不同,例如, 若x=7, 则x&&8 的值为真(两个非零值相与仍为非零),而x&8的值为0。
移位运算符">>"和"<<"是指将变量中的每一位向右或向左移动, 其通常形式为:
右移: 变量名>>移位的位数
左移: 变量名<<移位的位数
经过移位后,一端的位被"挤掉",而另一端空出的位以0 填补,所以,Turbo C中的移位不是循环移动的。