- 2
- 0
- 约2.58千字
- 约 20页
- 2016-12-15 发布于江苏
- 举报
C语言程序设计 - 第9章 位运算 白 雪 飞baixf@ustc.edu.cn 中国科学技术大学电子科学与技术系Dept. of Elec. Sci. Tech., USTC Fall, 2003 第9章 位 运 算 C语言程序设计 - 第9章 位运算 * 目 录 位运算和位运算符 位运算举例 C语言程序设计 - 第9章 位运算 * 位运算 按二进制位进行运算 位运算的运算对象是二进制的位 位运算速度快,效率高,节省存储空间 只能对整型数据(包括字符型)进行位运算 负数以补码形式参与运算 注意与逻辑运算区别 C语言程序设计 - 第9章 位运算 * 位运算符 (Bitwise Operators) 运算符 名称 举例 优先级 ~ 按位取反 ~flag (高) (算术运算符) 左移 a 2 右移 b 3 (关系运算符) 按位与 flag 0x37 ^ 按位异或 flag ^ 0xC4 | 按位或 flag | 0x5A (低) (赋值运算符) C语言程序设计 - 第9章 位运算 * 按位与 (Bitwise AND) 运算规则 0 0 = 0; 0 1 = 0; 1 0 = 0; 1 1 = 1; 用法 按位清零 保留某些指定位 C语言程序设计 - 第9章 位运算 * 按位与举例 运算举例 1010,1101 (0xAD) 0110,1001 (0x69) 0010,1001 (0x29) 按位清零、保留 xxxx,xxxx_____ 0110,0010 (0x62) 0xx0,00x0_____ C语言程序设计 - 第9章 位运算 * 按位或 (Bitwise Inclusive OR) 运算规则 0 | 0 = 0; 0 | 1 = 1; 1 | 0 = 1; 1 | 1 = 1; 用法 按位置一 C语言程序设计 - 第9章 位运算 * 按位或举例 运算举例 1010,1101 (0xAD) | 0110,1001 (0x69) 1110,1101 (0xED) 按位置一 xxxx,xxxx_____ | 0110,0010 (0x62) x11x,xx1x_____ C语言程序设计 - 第9章 位运算 * 按位异或 (Bitwise Exclusive OR, XOR) 运算规则 0 ^ 0 = 0; 0 ^ 1 = 1; 1 ^ 0 = 1; 1 ^ 1 = 0; 说明 相“异”则为1,相“同”则为0 相当于按位且无进位的加法 C语言程序设计 - 第9章 位运算 * 按位异或用法举例 特定位翻转 1010,1101 (0xAD) ^ 0110,1001 (0x69) 1100,0100 (0xC4) 与0相异或,保持原值不变 与自身相异或,则全部位清零 交换两个整数值 a=a^b; b=b^a; a=a^b; C语言程序设计 - 第9章 位运算 * 按位取反 (Ones Complement) 运算规则 ~ 0 = 1; ~ 1 = 0; 用法 所有位翻转 获得适用于不同系统的位运算模板 C语言程序设计 - 第9章 位运算 * 按位取反举例 运算举例 ~ 1010,1101 (0xAD) 0101,0010 (0x52) 位运算模板 对一个int类型的整数最后四位清零 16位整数: a 0xF0 32位整数: a 0xFFF0 可以使用: a ~(int)0xF C语言程序设计 - 第9章 位运算 * 左移 (Left Shift) 运算规则 i n 把i各位全部向左移动n位 最左端的n位被移出丢弃 最右端的n位用0补齐 用法 若没有溢出,则左移n位相当于乘上2n 运算速度比真正的乘法和幂运算快得多 C语言程序设计 - 第9章 位运算 * 左移举例 运算举例 1010,1101 3 (101)0110,1000_____ 溢出举例 若左移后的数据超出表示范围,则发生溢出 int i, j; i = 0x2431; j = i2; /* j=-0x6F3C, 溢出 */ j = i3; /* j= 0x2188, 溢出 */ C语言程序设计 - 第9章 位运算 * 右移 (Right Shift) 运算规则 i n 把i各位全部向右移动n位 最右端的n位被移出丢弃 最左端的n位用0补齐(逻辑右移) 或最左端的n位用符号位补齐(算术右移) 用法 右移n位相当于除以2n,并舍去小数部分 运算速度比真正的除法和幂运算快得多 C语言程序设计 - 第9章 位运算 * 右移举例 运算举例 0101,1101 3 0000,1011(101) 逻辑右移和算术右移 int i,
您可能关注的文档
- 中科大1995离散.doc
- 中科大2004 -- 2005 学年第二学期期终考试试卷(2005.06.17)物理化学(上).doc
- 中科大2007工程热力学.doc
- 中科大C语言程序设计6.ppt
- 中科大C语言程序设计7.ppt
- 中科大相对论.ppt
- 中科大管理学真题(1999-2009).doc
- 中科院、北大、北师大.doc
- 中科院半导体.doc
- 中科院环境化学试题1.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)