11 位运算
第十一章位运算 本章要点 位运算的相关概念 位运算符的含义及使用; 位运算的特殊应用; 位复合赋值运算符的含义及使用; 11.1位运算的概念 程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。由于位运算直接对内存数据进行操作,不需要转成十进制,因此处理速度非常快。 C语言提供了位运算的功能,这使得C语言也能像汇编语言一样用来编写系统程序。参与运算的数以补码方式出现。参与位运算的只能是整型或字符型数据。 11.1.1 字节与位 二进制数系统中,位,简记为b,也称为比特,每个0或1就是一个位(bit),位是数据存储的最小单位。字节(Byte)是计算机信息存储的最小单位,1个字节等于8位二进制。计算机中的CPU位数指的是CPU一次能处理的最大位数。例如32位计算机的CPU一个机器周期内可以处理32位数据0xFFFFFFFF 一个英文的字符占用一个字节,而一个汉字以及汉字的标点符号、字符都占用两个字节。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,如一个ASCII码就是一个字节。字节单位还有KB、MB、GB、TB等,此类单位的换算为: 1KB =1024B 1MB =1024KB 1GB=1024MB 1TB=1024GB 11.1.2 补码 一个数据在计算机内部表示成二进制形式称为机器数。机器数有不同的表示方法,常用的有原码、反码、补码。数据的最右边一位是 “最低位”,数据最左边一位叫做 “最高位”。 原码表示规则:用最高位表示符号位,用“0”表示正号,“1”表示负号,其余各位表示数值大小。 例如:假设某个机器数的位数为8,则56的原码-56的原码 反码表示规则:正数的反码与原码相同;负数的反码,符号位为“1”不变,数值部分按位取反,即0变为1,1变为0。反码很少直接用于计算机中,它是用于求补码的过程产物。 例如反码10111000的反码 补码的表示规则:正数的补码与原码相同;负数的补码是在反码的基础上加二进制“1”。 例如补码10111000的补码 补码是计算机中一种重要的编码形式,采用补码后,可以将减法运算转化成加法运算,运算过程得到简化。正数的补码即是它所表示的数的真值,而负数的补码的数值部份却不是它所表示的数的真值。采用补码进行运算,所得结果仍为补码。一个数补码的补码就是它的原码。与原码、反码不同,数值0的补码只有一个,即 [0]补。若字长为8位,则补码所表示的范围为-128~+127;进行补码运算时,所得结果不应超过补码所能表示数的范围。 在实际应用中,注意原码、反码、补码之间的相互转换,由于正数的原码、补码、反码表示方法均相同,当遇到正数时不需转换。进行转换时,首先判断其符号位,为负时,再进行转换。 例:已知某数X的原码,求X的补码和反码。 由[X]原知,符号位为“1”,X为负数。求其反码时,符号位不变,数值部分按位求反,求其补码时,再在其反码的末位加1。计算过程如下: 原码:1 0 1 1 0 1 1 0 反码:1 1 0 0 1 0 0 1 +1 补码:1 1 0 0 1 0 1 0 求得:[X]反, [X]补。 例:已知某数X的补,试求其原码。 由[X]补知,符号位为“1”,X为负数。补码的补码就是原码,故求其原码表示时,符号位不变,数值部分按位求反,再在末位加1。 补码:1 1 1 0 1 1 0 0 求反:1 0 0 1 0 0 1 1 +1 原码:1 0 0 1 0 1 0 0 求得:[X]原=1 0 0 1 0 1 0 0B。 例:求18-15的值。 利用补码,减法运算就转化为加法实现,变成了求[18-15 ]补,[18-15 ]补等价为[18]补+[-15]补,先求-15 的补码,-15的二进制表示则-15 的补码为+1 与18 的补码相加[18]补 +[-15]补 1[18]补+[-15]补 舍去运算溢出的最高一位(模运算),结果符号位为“0”,故为正数,正数的补码为其本身,转化为十进制为3。 如果计算机的字长为n位,n位二进制数的最高位为符号位,其余n-1位为数值位,采用补码表示法时,可表示的数X的范围是
您可能关注的文档
- 10大蒙牛牛奶品牌.pptx
- 10年从16万元到身价上亿.docx
- 10年广东电子商务员理论真题.doc
- 10外墙保温工程技术规程.ppt
- 10意义类选择题.pptx
- 10床杨淑兰动脉瘤.ppt
- 10旅游投资项目的融资渠道分析.ppt
- 10曼昆宏观-第十讲 总供给和总需求.ppt
- 10最高额抵押合同1.doc
- 10区域地理 拉丁美洲、巴西课件 人教版.ppt
- 小区绿化施工协议书.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)