第9章位运算 白雪飞 baixfaustc. edu.cn 中国科学技术大学电子科学与技术系 Dept of Elec. Sci. Tech, USTC Fal22003
白 雪 飞 baixf@ustc.edu.cn 中国科学技术大学电子科学与技术系 Dept. of Elec. Sci. & Tech., USTC Fall, 2003 第9章 位 运 算
目录 位运算和位运算符 ●位运算举例 C语言程序设计-第9章位运算2
C语言程序设计 - 第9章 位运算 2 目 录 ⚫ 位运算和位运算符 ⚫ 位运算举例
位运算 。按二进制位进行运算 位运算的运算对象是二进制的位 位运算速度快,效率高,节省存储空间 只能对整型数据(包括字符型)进行位运算 负数以补码形式参与运算 注意与逻辑运算区别 C语言程序设计-第9章位运算3
C语言程序设计 - 第9章 位运算 3 位运算 ⚫ 按二进制位进行运算 ⚫ 位运算的运算对象是二进制的位 ⚫ 位运算速度快,效率高,节省存储空间 ⚫ 只能对整型数据(包括字符型)进行位运算 ⚫ 负数以补码形式参与运算 ⚫ 注意与逻辑运算区别
位运算符( Bitwise Operators 运算符名称 举例 优先级 按位取反 wflag (高) (算术运算符) << 左移 a<<2 右移 b>>3 (关系运算符) 6按位与1aq60x37 按位异或|f1ag^0xc4 按位或1ag10x5A (低) (赋值运算符) C语言程序设计-第9章位运算4
C语言程序设计 - 第9章 位运算 4 位运算符 (Bitwise Operators) 运算符 名称 举例 优先级 ~ 按位取反 ~flag (高) (算术运算符) << 左移 a << 2 >> 右移 b >> 3 (关系运算符) & 按位与 flag & 0x37 ^ 按位异或 flag ^ 0xC4 | 按位或 flag | 0x5A (低) (赋值运算符)
按位与( Bitwise and) 运算规则 0&0=0; ■0&1 0 1&0=0 1&1=1; 用法 按位清零 ■保留某些指定位 C语言程序设计-第9章位运算5
C语言程序设计 - 第9章 位运算 5 按位与 (Bitwise AND) ⚫ 运算规则 ◼ 0 & 0 = 0; ◼ 0 & 1 = 0; ◼ 1 & 0 = 0; ◼ 1 & 1 = 1; ⚫ 用法 ◼ 按位清零 ◼ 保留某些指定位