C语言程序设计课件:位运算.ppt

C语言程序设计课件:位运算.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

本章要点位运算的相关概念位运算符的含义及使用;位运算的特殊应用;位复合赋值运算符的含义及使用;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=1024B1MB=1024KB1GB=1024MB1TB=1024GB11.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。计算过程如下:原码:10110110反码:11001001+1补码:11001010求得:[X]反,[X]补。例:已知某数X的补,试求其原码。由[X]补知,符号位为“1”,X为负数。补码的补码就是原码,故求其原码表示时,符号位不变,数值部分按位求反,再在末位加1。补码:11101100求反:10010011+1原码:10010100求得:[X]原=10010100B。例:求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的范围是-2n-1≤X

文档评论(0)

ning2021 + 关注
实名认证
内容提供者

中医资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年05月10日上传了中医资格证

1亿VIP精品文档

相关文档