- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 位运算 掌握基本位运算的形式 掌握位运算的一般性计算方法 10.1 几个基本概念 【问题】我们知道任何信息在计算机中都是以二进制形式表示,而我们日常生活中使用的是十进制,由于位运算是指进行二进制位的运算,因此在学习位运算之前我们有必要了解与回顾一下计算机内数据组织与存储形式。 10.1.1 字节与位 字节(byte)是计算机中的存储单元。一个字节可以存放一个英文字母或符号,一个汉字通常要用两个字节来存储。每一个字节都有自己的编号,叫做“地址”。1个字节由8个二进制位(位的英文是bit)构成,每位的取值为0或1。最右端的那1位称为“最低位”,编号为0;最左端的那1位称为“最高位”,而且从最低位到最高位顺序,依次编号。 10.1.1 字节与位 我们把若干字节组成一个单元,叫做“字”(word)。一个字可以存放一个数据或指令。至于一个字由几个字节组成,取决于计算机的硬件系统。一般由1个、2个或4个字节组成,所对应的计算机也被称为“8位机、16位机或32位机”。目前微机以16位机或32位机为主。在本书中作为原理讲述的是8位机。 10.1.2 原码 把最高位留做表示符号,其他7位表示二进制数,这种编码方式叫做原码。最高位为“0”表示正数,为“1”表示负数。例如:表示 +3表示 - 3 显然,这样可以表示的数值范围在+127到-127之间。 这种表示方法有一个缺陷,数值0会出现歧义:表示 +0表示 - 0 10.1.3 反码 对于正数,反码与原码相同。例如:表示 +3。 所谓“反码”是指与“原码”在表示负数时相反:符号位(最高位)为“1”表示负数。但其余位的值相反。例如示-3。显然,这样可以表示的数值范围在+127到-127之间。 这种表示方法仍然有一个缺陷,数值0会出现歧义:表示 +0表示 - 0 10.1.4 补码 对于正数,补码与原码相同。 0的补码这样,0的表示唯一。 对于负数,可以从原码得到补码。步骤如下: 符号位不变,其余各位取反; 整个数加1。 已知补码,求原码: 符号位不变,其余各位取反 整个数加1。 10.1.4 补码 例如,已知补码求原码。 符号位为“1”,表示是一个负数,所以该位不变,仍为“1”; 其余7位1111001取反后为0000110;再加1,所以-7)。 计算机中的数据都采用补码。原因是: 使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。如-3+4可以变成-3的补码与+4的补码相加 两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。 10.2 位运算符和位运算 位运算表 10.2.1 按位取反 【运算符】~【格式】~x【功能】各位翻转,即原来为1的位变成0,原来为0的位变成1。【主要用途】间接地构造一个数,以增强程序的可移植性。【示例】如x=83,y=~x,则y=172。 10.2.2 按位与 【运算符】 【格式】xy 【功能】当两个操作对象二进制数的相同位都为1时,结果数值的相应位为1,否则为相应位是0。 【主要用途】取(或保留)1个数的某(些)位,其余各位置0。 【示例】如x=146,y=222,z=xy,则z=146。 10.2.3 按位或 【运算符】| 【格式】x | y 【功能】当两个操作对象二进制数的相同位都为0时,结果数值的相应位为0,否则为相应位是1。 【主要用途】将1个数的某(些)位置1,其余各位不变。 【示例】如x=146,y=222,z=x | y,则z=222。 10.2.4 按位异或 【运算符】^ 【格式】x ^ y 【功能】当两个操作对象二进制数的相同位的值相同时,结果数值的相应位为0,否则为相应位是1。 【主要用途】使1个数的某(些)位翻转(即原来为1的位变为0,为0的变为1),其余各位不变。 【示例】如x=146,y=222,z=x ^ y,则z=76 10.2.5 左位移 10.2.6 右位移 说 明 x、y和“位数”等操作数,都只能是整型或字符型数据。除按位取反为单目运算符外,其余均为双目运算符。 参与运算时,操作数x和y都必须首先转换成二进制形式,然后再执行相应的按位运算。例如: 52→20即10110→10100,202→5即1010010→00101 。 复合赋值运算符 除按位取反运算外,其余5个位运算符均可与赋值运算符一起,构成复合赋值运算符: =、|+、^=、=、=。例如,a = b相当于 a = a b。a
您可能关注的文档
- C++程序设计简明教程 -王晓东 第6章 数据共享与安全.ppt
- C++程序设计简明教程 -王晓东 第7章 继承.ppt
- C++程序设计简明教程 -王晓东 第8章 多态性.ppt
- C++程序设计简明教程 -王晓东 第10章 异常处理.ppt
- C++程序设计简明教程 -王晓东 第11章 C++应用.ppt
- C++程序设计简明教程(第二版) 第1章 C++概述.ppt
- C++程序设计简明教程(第二版) 第2章流程控制语句.ppt
- C++程序设计简明教程(第二版) 第5章 类.ppt
- C++程序设计简明教程(第二版) 第6章运算符重载.PPT
- C++程序设计简明教程(第二版) 第8章流和文件.PPT
- 江苏专用,苏教版2019第一册专题1_专题3第二单元(考试版A4).docx
- 高二生物期中模拟卷(考试版A4)(上海专用).docx
- 高一生物期中模拟卷(考试版A4)(上海专用).docx
- 高二政治期中模拟卷(全解全析)(天津专用).docx
- 浙江省精诚联盟2024-2025学年高二上学期10月月考生物 Word版无答案.docx
- 河南省许昌市2022-2023学年高一下学期期末语文 Word版无答案.docx
- (中图中华地图版 沪版(2020)选修一主题1-6)(考试版A4).docx
- 江苏专用,鲁教版2019选必1+选必2第1~2章(考试版A4).docx
- 江苏专用,选必一全册+选必二1~7课02(全解全析).docx
- 鲁科版2019第1~2章(考试版A4).docx
文档评论(0)