版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
二进制及运算目前计算机内所有的信息都用“0”和“1”两个数字符号组合的二进制数来表示。计算机中,数值、图形、文字等各种形式的信息,需要计算机加工处理时,首先必须按一定的法则转换成二进制①电子器件的实现很容易。电路通常有两种稳态:开关的合上与断开、电灯的亮与灭、二极管的导通与截止、高电平与低电平等。②二进制运算简单。二进制的运算法则简单,这样,使得计算机的运算器结构大大简化,控制简单。③便于进行逻辑运算。二进制的0,1两种状态,可以代表逻辑运算中的“假”和“真”两种值。④可靠性高。二进制的0,1两种状态,在传输和处理时不容易出错。信息还常用十进制、八进制和十六进制编码,但它们最终要转换成二进制才能被计算机内部存储和加工。二进制的优势位(bit):计算机中表示信息的最小单位,对应于二进制中的一个位字节(Byte):计算机中表示信息的基本单位,8个二进制的位构成一个字节K:1K=210=1024字节(BYTE)兆(M):1M=1024K=1024×1024Byte吉(G):1G=1024MT:1T=1024G存储器的容量:B,KB,MB,GB,TB,PB,EB,ZB计算机中数据的存储单位10011010位字节“字”:计算机在同一时间内处理的一组二进制数称为一个计算机的“字”,而这组二进制数的位数就是“字长”。
字长与计算机的功能和用途有很大的关系,是计算机的一个重要技术指标。字长直接反映了一台计算机的计算精度,为适应不同的要求及协调运算精度和硬件造价间的关系,大多数计算机均支持变字长运算,即机内可实现半字长、全字长(或单字长)和双倍字长运算。
早期的微机字长一般是8位和16位,386以及更高的处理器大多是32位。目前市面上的计算机的处理器大部分已达到64位。数据的表示方法和转换任意一个十进制数A,可以表示为:数据的表示方法和转换任意一个二进制数B也可以表示为:数据的表示方法和转换任意一个二进制数C也可以表示为:数据的表示方法和转换任意一个二进制数D也可以表示为:数据的表示方法位权基数为2数据的表示方法和转换P.60.表3.1给出了各种进位计数制的对应关系。
十进制二进制八进制十六进制000011112102231133410044510155611066711177810001089100111910101012A11101113B12110014C13110115D14111016E15111117F16100002010计算机的数制逢十进一0~9共十个数字来表示(基数为10)每个数字所处的位置不同,所代表的意义也不同(位权是10的整次幂)1.十进制
1995.121=1×103+9×102+9×101+5×100+1×10-1+2×10-2+1×10-32.二进制基数为二使用两种不同的数字符号,即0或1逢二进一(11010.101)2=1×24+1×23+0×22+1×21+0×20+1×2-1+0×2-2+1×2-33.八进制基数为8、每位可取0~7中的任意一个数字逢八进一例如,八进制数加法
7+1=10而不等于8八进制(基数为8)表示法在早期的计算机系统中很常见。八进制适用于12位和36位计算机系统(或者其他位数为3的倍数的计算机系统)。
4.十六进制
基数为16组成十六进制数的符号共有16个其中:0~9这十个数由数字0~9来表示10~15这六个数由英文字母A~F表示逢十六进一例如,十六进制数
9+1=A而不等于10F+1=1016进制缩短了二进制数,但保持了二进制数的表达特点。三、数制间的转换1.二、八、十六进制转换成十进制
(1010101)2=1×26+0×25+1×24+0×23+
1×22+0×21+1×20
=64+16+4+1=(85)10(16A.B)16=(1×162+6×161+10×160
+11×16-1)10
=(256+96+10+0.69)10
=(362.69)10
(34.6)8=?
2、十进制数转换成二进制数(a)纯整数部分的转换
“除2取余”
192924222120余1余1余0余0余1(高位)(低位)故:(19)10=(10011)2例1.将(19)10转换为二进制数。2、十进制数转换成二进制数(续)(b)纯小数部分的转换
“乘2取整”
例2.将(0.125)10转换为二进制数。
0.500×21.000(低位)故:(0.125)10=(0.001)20.250×20.125(高位)
×2例二:将0.6875转换成二进制小数0.6875*21.3750*2
0.7500*21.5000*21.0000由此,(0.6875)10=(0.1011)2将整数部分按正序排列2、十进制数转换为二进制数(续)
例3.将(19.125)10转换成二进制数。(19)10=(10011)2
(0.125)10=(0.001)2
故:(19.125)10=(10011.001)2
注意:
并非所有的十进制小数都能用有限位的二进制小数来表示。例4.将(0.63)10转换为二进制。
0.63×21.26×20.52×21.04×20.08(高位)(低位)因为,小数部分乘以2会无限循环下去,故:(0.63)10=(0.1010)2(近似值)3.二进制与八进制或十六进制之间的转换二进制与八进制之间的转换
因为8=23,由此一位八进制由三位二进制构成
(011110111.100010101)2=(367.425)8367.425
(16.327)8=(001110.011010111)2
=(1110.011010111)2
(2)二进制与十六进制间的转换
同理:
(1110
0101
1010.1011
1001)2
E5A.B9
=(E5A.B9)16(4C.2E)16=(0100
1100.0010
1110)2
4C2E
=(1001100.0010111)2二进制的基本运算二进制的基本运算是逻辑运算逻辑运算是按位进行的逻辑运算主要包括三种基本运算:逻辑加法(又称“或”运算)逻辑乘法(又称“与”运算)逻辑否定(又称“非”运算)。逻辑加法(“或”运算)逻辑加法通常用符号“+”或“∨”来表示。逻辑加法运算规则如下:0+0=0,0∨0=00+1=1,0∨1=11+0=1,1∨0=11+1=1,1∨1=1
逻辑“或门”Cmos逻辑电路逻辑乘法(“与”运算)Cmos逻辑电路逻辑乘法通常用符号“×”或“∧”或“·”来表示。逻辑乘法运算规则如下:0×0=0,0∧0=0,0·0=00×1=0,0∧1=0,0·1=01×0=0,1∧0=0,1·0=01×1=1,1∧1=1,1·1=1逻辑“与门”逻辑否定(“非”运算)Cmos逻辑电路逻辑非运算又称逻辑否运算。其运算规则为:0=1“非”0等于11=0“非”1等于0
逻辑“非门”无符号数与带符号数无符号数:
1111
1111
值:255有符号数:
0111
1111
值:127同样是一个字节,无符号数的最大值是255,而有符号数的最大值是127原因:有符号数中的最高位被挪去表示符号了
带符号数的表示真值:直接用正号“+”和负号“-”来表示符号的二进制数如:+1011;-1101数的真值形式是一种原始形式,无法直接用在计算机中机器数:一个包括符号位在内的数值的机内编码叫做机器数,它是数在计算机中表示形式的统称。例:01010111=+87,11010111=-87对于负数有三种表示方法:原码、反码、补码。带符号数的表示(小数)1、原码表示原码的表示:正数的符号位用0表示,负数的符号位用1表示,尾数用数值表示。原码的定义:[X]原=X0<=X<11-X-1<X<=0
例:X=+0.1011,[X]原=0.1011;
X=-0.1011,[X]原=1-X=1.0000-(-0.1011)=1.1011
一个字节的有符号数的原码范围是:-127~+127带符号数的表示原码的特性:
(1)[X]原=符号位+|X|,即原码的最高位为符号位,尾数部分为数值位(绝对值)。(2)数的原码有正负零之分,[+0]原=000000000,
[-0]原=100000000。(3)8位原码的数值范围为:[+127]原=01111111,[-127]原=11111111。(4)原码表示与增值转换方便,但两异号相加要做减法。为了把减法运算转换为加法运算,提出了反码和补码。带符号数的表示2、反码表示1's
Complement
反码的表示:正数的反码符号位为0,尾数用数值表示(与原码相同);负数的反码为正数值连同符号位按位取反。反码的定义:[X]反=X0<=X<1(2-2-n)+x-1<X<=0(定点小数)(2n+1-1)+x0≥x>-2n(定点整数)例:X=+0.1011,[X]反=0.1011
X=-0.1011,[X]反=1.0100带符号数的表示反码的特性:(1)反码的最高位为符号位,0为正,1为负(2)零的反码有正负之分(不唯一)
+0=00000000,-0=11111111;
(3)8位反码的数值范围为:[+127]=01111111,[-127]=11111111;
带符号数的表示3、补码的表示2's
Complement补码的表示:正数的补码与原码相同,即符号位用0表示,尾数用数值表示,负数的补码为数的反码,且在最低为加1,即取反加1。补码的定义:[X]补=X0<=X<1
2+X-1<=X<=0
2n+1+x=2n+1-|x|
0≥x≥-2n例:X=+0.1011,[X]补=01011;
X=-0.1011,[X]补=10101。带符号数的表示模与互补的概念:例如,校正时间的方法:标准时间是6点钟,非标准时间是10点钟;有两种校正方法:10-4=6倒拨10+8=6顺拨10-4=(10+8)
mod12;称12为模数,(+8)与(-4)对模12互为余数,或称同余。同理,在8位二进制中任一负数(-X)的补码都可以由
28-X来得到。带符号数的表示及加减运算例,64-10=64+(-10)=
64+[28-10]=64+[256-10]=64+246=5401000000640100000064-00001010-10+11110110+2460011011054(1)0011011054若字长为8位,则补码所表示的范围为-128~+127;进行补码运算时,应注意所得结果不应超过补码所能表示数的范围带符号数的表示补码的特性:
(1)补码的最高位为符号位,0为正,1为负(2)0的补码是唯一的
[+0]补=[-0]补=00000000;(3)两个数的补码相加时,结果不超过机器能表示的范围,可以把符号位与数位同等处理,即机器数的符号位与数值位都是正确的补码表示。即:[X+Y]补=[X]补+[Y]补机器数的运算一、原码运算
(1)原码中的符号位仅用来表示数的正、负,不参加运算
(2)原码运算时,首先比较两个数的符号两数的符号相同,将两个数的数值相加,最后给结果附上相应的符号
两数的符号不同,则需比较两数的数值大小,然后将数值较大的数减去数值较小的数,并将数值较大的数的符号作为最后结果的符号。例:
已知S1=
0.1001,S2=-0.0101,求[S2+S1]原和[S2-S1]原。解:[S2+S1]原=[(-0.0101)+(0.1001)]原由于S1和S2的符号不同,并且的S1绝对值大于S2的绝对值,因此要进行S1减S2的运算,其结果为正。0.1001-)0.01010.0100原码表示法是最好理解的,但是,在计算机中采用原码进行算术运算时比较麻烦,而且,这种方法对于“0”的表示不唯一。例:
已知S1=
0.1001,S2=-0.0101,求[S2+S1]原和[S2-S1]原。解:[S2-S1]原=
[(-0.0101)-(0.1001)]原由于S1和S2的符号相同,因此,实际上要进行Sl加S2的运算,其结果为负。0.0101+)0.10010.1110故其真值为S2-S1
=-0.1101机器数的运算二、反码运算反码加、减运算规则:[S2+S1]反=[S2]反+[S1]反[S2-S1]反=[S2]反+[-S1]反采用反码进行加、减运算时,无论进行两数相加还是两数相减,均可通过加法实现。机器数的运算反码的加、减运算规则表明:两数和的反码等于两数的反码之和,而两数差的反码也可以用加法来实现。运算时,符号位和数值位一样参加运算,如果符号位产生进位,则需将此进位加到和数的最低位,称之为“循环进位”。运算结果的符号位为0时,说明是正数的反码,与原码相同;运算结果的符号位为1时,说明是负数的反码,应再对运算结果求反码,才得到原码。例:
已知S1=
0.1001,S2=-0.0101,求[S2+S1]反和[S2-S1]反。解:
[S2+S1]反=[S2]反+[S1]反=
1.1010+0.10011.1010+)0.100110.00111-------循环进位0.0100+)由于答案符号位为0,故其真值为S2+S1=
0.0100例:
已知S1=
0.1001,S2=-0.0101,求[S2+S1]反和[S2-S1]反。又
[S2-S1]反=
[S2]反+[-S1]反=
1.1010+1.01101.1010+)1.011011.00001-------循环进位1.0001+)由于答案符号位为1,说明是负数的反码,应再对运算结果求反码,才得到原码。则其真值为S2-S1=
-0.1110机器数的运算三、补码运算
补码运算同反码运算一样,两数差的补码可以用两数补码的加法来实现。补码加、减运算规则是:[S2+S1]补=
[S2]补+[S1]补[S2-S1]补=
[S2]补+[-S1]补机器数的运算三、补码运算运算时,符号位和数值位一样参加运算
如果符号位产生了进位,则此进位可“略去”运算结果符号位为0时,说明是正数的补码,与原码相同。
运算结果符号位为1,说明是负数的补码,应对结果再求补码才得原码。例:
已知S1=
0.1001,S2=
-0.0101,求[S2+S1]补和[S2-S1]补。解:
[S2+S1]补=
[S2]补+[S1]补=
1.1011+0.10011.1011+)0.100110.0100略去0.0100由于答案符号位为0,故其真值为S2+S1=
0.0100例:
已知S1=
0.1001,S2=
-0.0101,求[S2+S1]补和[S2-S1]补。又
[S2-S1]补=
[S2]补+[-S1]补=
1.1011+1.01111.1011+)1.011111.0010略去1.0010运算结果的符号位为1,说明是负数的补码,应对补码求补后才能得到原码,即[S2-S1]原=
1.1110由于其符号位为1,真值为S2-S1=-0.1110从上述的讨论可以看出,原码、反码和补码各有优缺点。原码表示法简单方便,但原码减法必须做真正的减法,不能用加法来代替,因此实现原码运算所需的逻辑电路比较复杂。反码和补码的优点是只需用加法逻辑电路便可实现。并且用补码进行减法运算很方便,它只需进行一次算术相加。而用反码进行减法运算,若符号位产生进位就需进行两次算术相加。而且反码还有一个缺点,就是具有两个零值,这容易在计算过程中产生歧意。思考:整数运算例:
设S1和S2为单字节数,已知S1=24D,S2=-16D,求[S2+S1]补和[S2-S1]补。解:
[S1]补=00011000[S2]补=11110000[S2+S1]补=
[S2]补+[S1]补00011000+)11110000100001000略去00001000思考:整数运算例:
设S1和S2为单字节数,已知S1=24D,S2=-16D,求[S2+S1]补和[S2-S1]补。解:
[-S1]补=11101000[S2]补=11110000[S2-S1]补=
[S2]补+[-S1]补11110000+)11101000111011000略去11011000求补码得:10101000带符号数的表示及加减运算二、加减法运算的溢出处理由于机器码的位数通常是给定的(如16位字长,32位字长),因此,数的表示范围是有限的,若两数进行加减运算的结果超出给定的取值范围,就会产生溢出。例,X=+0.1011,Y=+0.1001,X+Y=?[X]补0.1011+[Y]补0.10011.0100此时,两个正数相加的结果成为负数,显然是错误的。带符号数的表示及加减运算又如,X=-0.1101,Y=-0.1011,X+Y=?[X]补1.0011+[Y]补1.01010.1000两个负数相加的结果成为正数,这同样是错误的。为判断溢出是否产生,可以采用两种检测方法。带符号数的表示及加减运算1、变形码操作检测方法:每个操作数在运算时都采用两个符号位,正数用00表示,负数用11表示,两个符号位与码值一起参加运算;若运算结果的两个符号位的代码不一致时表示溢出,两个符号位代码一致时,没有溢
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026工程机械轴承密封系统防尘防水性能升级需求分析
- 2026生物制药行业技术创新供给现状及临床试验评估规划分析文献
- 2026长城供应链面试题及答案
- 2026浙江文职面试题及答案
- 高中政治统编版必修二经济与社会第一单元基本经济制度与经济体制单元测试
- 2026-2030有机和常规断奶食品行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2026-2030氧气行业市场发展现状及发展趋势与投资前景预测研究报告
- 2026年证券从业资格考试《金融市场基础知识》模拟试题集
- 2026年环境工程师《环境影响评价》真题解析培训试卷
- 2026年兽医资格考试《动物疫病防治》知识点总结及模拟卷
- T∕CACM 010-2017 中医药单用联合抗生素治疗常见感染性疾病临床实践指南 盆腔炎性疾病
- 《物联网基础知识》课件
- 医院培训课件:《新生儿支气管肺发育不良》
- 智能安防行业发展建议
- 2024年国家大剧院公开招聘专业技术及一般管理人员33人历年高频500题难、易错点模拟试题附带答案详解
- 2024年秋季1530安全教育记录
- DL-T5704-2014火力发电厂热力设备及管道保温防腐施工质量验收规程
- pvc地胶施工工艺演示
- 洗涤公司车间管理制度
- 《0-3岁婴幼儿营养与喂养》婴幼儿消化系统的特点
- VDA6.5产品审核检查表
评论
0/150
提交评论