1、,第 15 章 位运算,15.1 位运算符 (用于对二进制数值的位进行运算),包括: 逻辑位操作运算符: 求反,一元运算符,将操作数逐位取反。 按位“与”,两操作数逐位求“与”。 按位“或”,两操作数逐位求“或”。 按位“异或”,两操作数逐位相加不进位。 移位运算符: 二进制右移,将操作数右移指定位数。,扩展的赋值运算符:扩展运算符 表达式 等价的表达式= b=n b=bn = a&=b a=a&b = a|=b a=a|b= a=b a=ab,使用规则:(参加位操作的操作数必须是整型常数或整型变量) 逻辑位操作运算符的使用形式为: 操作数 操作数 操作数 操作数 操作数 操作数操作数 移位运
2、算符的使用形式为: 操作数 操作数 将操作数右移操作数指定的位数 例如: int a=15, b=125 ;a /* b左移2位 */,15.2 位运算符的运算功能 1.“按位取反”运算01001101结果: 10110010 2.“左移”运算char a=6,b; b=a2;a: 1111111111111000 左移2位: 1111111111111110 b=-2,15.2 位运算符的运算功能 续1 4.“按位与”运算 5.“按位异或”运算12: 00001100 00110011& 10: 00001010 11000011结果: 00001000 结果: 11110000 6.“按位或”运算01010011| 00001100结果: 01011111 7.位数不同的运算数之间的运算规则 1) 系统先将两个运算数右端对齐。 2) 再将位数短的运算数往高位扩充(无符号数和正整数左侧用0补全, 负数左侧用1补全。), 然后对位运算。,