二进制表示与运算.ppt

上传人:小飞机 文档编号:5029575 上传时间:2023-05-30 格式:PPT 页数:49 大小:454KB
返回 下载 相关 举报
二进制表示与运算.ppt_第1页
第1页 / 共49页
二进制表示与运算.ppt_第2页
第2页 / 共49页
二进制表示与运算.ppt_第3页
第3页 / 共49页
二进制表示与运算.ppt_第4页
第4页 / 共49页
二进制表示与运算.ppt_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《二进制表示与运算.ppt》由会员分享,可在线阅读,更多相关《二进制表示与运算.ppt(49页珍藏版)》请在三一办公上搜索。

1、2023/5/30,二进制表示与运算,二进制表示与运算,二进制与十进制、八进制和十六进制的转换,数的表示(定点小数、定点整数、浮点数),机器码(原码、反码、补码),定点数的运算,十进制,由0,1,2,3,4,5,6,7,8,9等十个不同的符号来表示数值的一种表示方法,采用逢10进1的计算方式。例如253.48=2*102+5*101+3*100+4*10-1+8*10-2显然,任一数字的位置是由10的次幂而决定的,这个10就是十进制的基数。十进制的特征:数字的个数等于基数最大的数字比基数小1每个数字都要乘以基数的幂次,而该幂次是由每个数所在的位置决定的,为什么数字计算机上要采用二进制,计算机是

2、电子设备,它容易实现的稳定状态有两种,如电路的通或断、电位的高或低。两种稳定状态工作可靠,抗干扰能力强,分别对应着数值和,这就是计算机中使用二进制数的理由。和的不同编码组合可以表示一个数、一个字符或一条操作指令。,二进制,二进制数)用和两个数符表示两个不同的数。)逢二进一,即高一位数是低一位数的倍 因此,二进制数10101.101的十进制值可用以下方法求出:(10101.101)2124+023+122+021+120+12-1+02-2+12-316+0+4+0+1+0.5+0+0.125(21.625)10,二进制,二进制:逢二进位的数制系统,基数:0 1,例:(110)2,1221210

3、20(6)10,奇偶数的判断以尾数为准,易于运算,用于表达二进制数所需的物理状态最少,例:0999范围内的数,十进制表示需31030个稳定状态;二进制表示需10220个稳定状态(2101024),二进制数转换为十进制数,整数部分:(knkn-1k2k1)2=(kn2n-1+kn-12n-2+k221+k1)10,小数部分:(.k1 k2 kn-1kn)2=(k12-1+k22-2+kn-12-(n-1)+kn 2-n)10,例:(11001)2,24+23+1=(25)10,(0.101)2,2-1+2-3=(0.625)10,(101.11)2,22+1+2-1+2-2=(5.75)10,十

4、进制整数转换为二进制数,转换规则:除2取余,(x)10=(knkn-1k2k1)2=(kn2n-1+kn-12n-2+k221+k1)10,k1=x除2取余数,k2=(x-k1)/2除2取余,直至商数小于2,(27)10=(11011)2,例:(20)10(67)10(128)10,(10100)2,(1000011)2,(10000000)2,十进制小数转换为二进制数,转换规则:乘2取进位,(x)10=(.k1 k2 kn-1kn)2=(k12-1+k22-2+kn-12n-1+kn 2-n)10,k1=x乘2取进位,k2=(2x-k1)乘2取进位,直至余数为0,例:(0.125)10=(0

5、.001)2,0.12520.25 进位为00.2520.5 进位为00.521 进位为1,余数为0,计算结束,练习:(0.625)10=,(0.101)2,(23.25)10=,(10111.01)2,八进制与十六进制,在计算机中应用二进制有一系列的优点,但写起来位数太多,读起来也比较麻烦,为了读写方便,往往采用八进制和十六进制作为二进制的过渡方式。八进制:用0,1,2,3,4,5,6,7 八个数符。采用“逢八进一”的计数方法。十六进制:用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十六个数符。采用“逢十六进一”的计数方法。,二进制数与八进制的转换,一位八进制数相当于三位二

6、进制数,即有如下的对应关系:转换的方法是:由小数点开始向左把二进制整数按每三位一划分,同理,由小数点开始向右把二进制小数按每三位一划分,不足三位的用0补齐,然后写出其相应的八进制数。,二进制数与八进制的转换,转换的方法是:由小数点开始向左把二进制整数按每三位一划分,同理,由小数点开始向右把二进制小数按每三位一划分,不足三位的用0补齐,然后写出其相应的八进制数。【例】(10001101.1101)2()8,八进制与二进制数的转换,转换的方法是:这是上述转换的逆过程。将八进制数的每一位用相应的三位二进制数写出即可。【例】(325.46)8()2解 3 2 5.4 6 011 010 101.100

7、 110,二进制数与十六进制数的转换,一位十六进制数相当于四位二进制数,即有如下对应关系:,二进制数与十六进制数的转换,转换的方法是:由小数点开始向左把二进制整数按每四位一划分,同理,由小数点开始向右把二进制小数按每四位一划分,不足四位用0补齐,然后写出其相应的十六进制数。【例2()16 解 0111 1011 1101.0100 7 D.4 所以 2(7BD.4)16,二进制数与十六进制数的转换,将十六进制数的每一位用相应的四位二进制数写出。【例】(23.F)16()2 解 2 3.F 0010 0011.1111 所以(23.F)16(100011.1111)2,非十进制到十进制数的转换,

8、非十进制数转换成十进制数 其方法以上已经介绍过了,即把非十进数按位权展开并求和。例如:(32CF.4B)16()10(32CF.4B)16 316321621216115160416-11116-2 12288512192150.250.04296875(13007.29296875)10,二、八、十六进制对照表,表1.1 二、八进制数字对照表,表1.2 二、十六进制数字对照表,数制转换小结1.非十进制数转换成十进制数 方法:把非十进数按位权展开并求和。2.十进制数转换为非十进制数(1)十进制整数转换为非十进制整数,方法:除以基数,直至商为,取其余数,倒排。,(2)十进制小数转换为非十进制小数

9、 8 4 2 1 23 22 21 20,方法:乘以基数,直至小数部分为0,取其整数,顺排。3.非十进制之间互相转换,(1)二进制数与八进制数间互换 一位八进制数相当于三位二进制数(2)二进制数与十六进制数间互换 一位十六进制数相当于四位二进制数,练习,十进制转换为二进制:83.25,56.38二进制转换为十进制:11010011.001011八进制转换为二进制:265.73二进制转换为八进制:11010011.1101十六进制转换为二进制:3FD.6C二进制转换为十六进制:11011110.11十进制转换为八进制:593.92八进制转换为十进制:67.76,练习,十进制转换为十六进制:85.

10、58十六进制转换为十进制:7C.C7八进制转换为十六进制:56.65十六进制转换为八进制:5B.B5,数的定点与浮点表示,一个十进制数123.456可以表示为123.456=0.123456*103数0.000456可以表示为:0.000456=0.456*10-3类似地,对于二进制数10011.101也可以这样表示为:10011.101=2101*0.10011101,数的定点与浮点表示,一般地,任意一个二进制数N可表示为:N=2j*S其中j是二进制整数位数;S是二进制小数,j称为数N的阶码,S为数N的尾数。尾数S表示数N的全部有效数字,阶码j指明了小数点的位置。,数的定点与浮点表示,一般地

11、,任意一个二进制数N可表示为:N=2j*S对任何一个数,若阶码j是固定不变的,则把这种表示法称为定点表示,这样的数称为定点数。反之,如果j可以取不同值,则把这种表示称为数的浮点表示,这样的数称为浮点数。,数的定点与浮点表示,一般地,任意一个二进制数N可表示为:N=2j*S如果对任何数j=0,则该定点数只能表示小数。这种表示法是一种常用的方法,以后我们讨论问题时,除非特别说明,否则都采用这种表示方法。,数的定点与浮点表示,如果计算机中的数采用定点表示,则计算机中数的小数点是固定的,这种计算机叫定点计算机;如果计算机中的数采用浮点表示,这时机器中数的小数是可以变化的,这种计算机叫浮点计算机。,数的

12、机内表示 定点小数,定点小数:,数符:0正,1负,例:+0.001101,-0.1010,若机器字长为n,则定点小数的数值表示范围为:2-(n-1)=|x|=1-2-(n-1),小数点,有关机器码及其运算的介绍均以定点小数为例,数的机内表示 定点整数,无符号整数:,字长为n时,无符号整数的表达范围为 02n-1,有符号整数:,字长为n时,有符号整数的表达范围为|x|=2n1-1,数的机内表示 浮点数,浮点数:,将数x表示为 s2j的形式,其中s为x的小数形式(尾数),-110.11=-0.11011211,设阶码共m位,尾数共n-1位,则浮点数的表示范围为:2-(2m-1)2-1=|x|=2(

13、2m-1)1-2-(n-1),符号的表示方法,在计算机中,二进制数码1和0是用电子元件的两种不同状态来表示的,对于一个数的符号,也用电子元件的两种不同状态来表示。一般约定正数的符号用0表示,负数和符号用1表示。在作乘法或除法时,把数的符号位按位相加后就得到结果的符号位,其规则为:正数乘正数,符号按位相加得:0+0=0正数乘负数,符号按位相加得:0+1=1负数乘负数,符号按位相加得:1+1=0,逻辑代数,在数字电路中,我们要研究的是电路的输入输出之间的逻辑关系,所以数字电路又称逻辑电路,相应的研究工具是逻辑代数(布尔代数)。,在逻辑代数中,逻辑函数的变量只能取两个值(二值变量),即0和1,中间值

14、没有意义,这里的0和1只表示两个对立的逻辑状态,如电位的低高(0表示低电位,1表示高电位)、开关的开合等。,1“与”逻辑,A、B条件都具备时,事件Y才发生。,三种基本运算,-与、或、非,灭,灭,灭,亮,逻辑代数的基本运算,逻辑代数的描述方法,真值表,用0表示开关断开、1表示开关闭合用0表示灯灭、1表示灯亮,逻辑代数的描述方法,逻辑式,真值表,Y=AB或AB,0 0=0 0 1=01 0=0 1 1=1,有0出0,全1出1。,“或”逻辑,A、B只有一个条件具备时,事件Y才发生。,灭,亮,亮,亮,逻辑代数的描述方法,逻辑式,真值表,Y=A+B,0+0=0 0+1=11+0=1 1+1=1,有1出1

15、,全0出0。,“非”逻辑,逻辑式,真值表,有1出0,全0出1。,A条件具备时,事件 Y不发生;A不具备时,事件Y才发生。,机器码原码,数学定义:x原=,x 1x=0,1-x 或 1+|x|0 x-1,物理意义:将x表示为定点小数,例:x=+0011011 x原00011011 x=-1000110 x原11000110,机器码原码,原码表示法简单易懂,与真值的转换方便。运算:当两个数作加法运算时,如果两数码符号相同,则数值相加,符号不变;如果两数符号不同,数值部分实际上是进行相减。这时,必须比较两个数哪个绝对值大,才能决定谁减谁。这件事在手算时容易解决,但计算机中执行却比较麻烦,增加了计算复杂

16、性,效率会降低。,机器码反码,所谓反码,就是把二进制数的各位数码,0变为1,1变为0。,数学定义:x反=,x 1x=0,2-2-n+x 0=x-1,物理意义:正数反码等于原码,负数反码等于原码各数码位取反,例:x=+0011011 x原00011011 x反00011011 x=-1000110 x原11000110 x反10111001,机器码补码,3,9,取模运算:整除模数后取余数,例:45 mod 12=9 3 mod 12=3 5 mod 3=2,模:一个计算系统的最大容量,定点小数机器码以2为模,-3 9(mod 12),机器码补码,数学定义:x补=,x 1x=0,2+x 或 2-|

17、x|或 x反+2-n 0 x-1,物理意义:正数补码等于原码,负数补码等于反码最低位加1,例:x=+0011011 x原00011011 x反00011011 x补00011011 x=-1000110 x原11000110 x反10111001 x补10111010,示例,已知X=0.125,求它的原码、反码和补码X原=0.001X反=0.001X补=0.001已知X=-0.25,求它的原码、反码和补码X原=1.010X反=2-2-n+X=1.101X补=2-|X|=1.110X补=X反+2-n,示例,已知X补=1.1011,求它的反码和原码解:因为X补=X反+2-n所以X反=X补 2-n=

18、1.1011 2-n=1.1010故X原=1.0101,定点数加(减)法,当数值用补码形式表示时,可用加法完成减法运算。这样,在计算机的计算器中只要有一个加法器,而不必为了实现减法或负数而再配一个减法器。补码加法公式为:X补+Y补=X+Y补(mod 2)以上形式的正确性可以得到证明,其条件为|X|1,|Y|1,|X+Y|1,定点数加(减)法,定点补码加(减)法:x补+y补=x+y补,|x|1,|y|1,|x+y|1 例:00100000(+0.01)2=(+0.25)10+11110000(-0.001)2=(-0.125)10 100010000(+0.001)2=(+0.125)10,机器

19、数的表达范围有限,两数之和超出表示范围时,产生溢出(overflow),例:01100101 01000011 10101000,正数相加,结果为负数,定点乘法,符号位:两数相乘.符号位相加。0+0=0,1+0=0+1=1,1+1=1 0,数值部分:原码相乘,0.101 0.011 101 101+000 0.001111,0.000 累加器初值为0+0.101 乘数末位为1,加被乘数 0.101 部分积 0.010 1 部分积右移一位+0.101 乘数倒数第二位为1,加被乘数 0.111 第二次部分积 0.011 11 第二次部分积右移一位+0.000 乘数最高位为0,加0 0.011 第三次部分积 0.001 111 第三次部分积右移一位,得结果,本章作业,将十制数213和69.625分别转换为二、八、十六进制表示。将十六进制数E6.6分别转换为二、八、十进制表示。假定某台计算机的机器数占8位,请写出-67和55的原码、反码和补码表示,并使用补码实现这两个数的加法运算,即55-67。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号