版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
二、十进制数间的相互转换数的补码表示及求补运算溢出判断本章内容数制的基本概念数字与字符的编码学习数的不同表示方法掌握不同进制数之间的相互转换掌握计算机中数的表示方法—补码表示法学习目的掌握数字与字符编码的方法2.1数制及其转换一个数值,可以用不同进制的数表示。通常用数字后面跟一个英文字母来表示该数的数制。十进制数:DDecimalD可以省略不用.二进制数:BBinary八进制数:QOctal十六进制数:HHexadecimal.例:1001B=09H=9D一般地,任意一个十进制数N都可以表示为:N=Kn-1×10n-1+Kn-2×10n-2+······+K1×101+K0×100
+
K-1×10-1+K-2×10-2+······+K-m×10-m=
2.1.1二、八、十、十六进制数*基数:数制所使用的数码的个数*权:数制中每一位所具有的值.
式中,10称为十进制数的基数,i表示数的某一位,10i称该位的权,Ki表示第I位的数码。Ki的范围为0~9中的任意一个数1.有十个不同的数字符号:0,1,2,…9。2.遵循“逢十进一”原则。十进制数的两个主要特点整数部分小数部分
设基数用R表示,则对于二进制,R=2,Ki为0或1,逢二进一。N=
对于八进制,R=8,Ki为0~7中的任意一个,逢八进一。N=对于十六进制,R=16,Ki为0~9、A、B、C、D、E、F共16个数码中的任意一个,逢十六进一。N=例1101.001B=1×23+1×22+0×21+1×20+0×2-1+0×2-2+1×2-3=13.125综上可见,上述几种进位制有以下共同点:①每种进位制都有一个确定的基数R,每一位的系数Ki有R种
可能的取值。
②按“逢R进一”方式计数,在混合小数中,小数点右移一位相
当于乘以R,左移一位相当于除以R。十进制数、二进制数、十六进制数之间的关系如下表所示十进制二进制十六进制012345678012345678000000010010001101000101011001111000十进制二进制十六进制91011121314159ABCDEF10011010101111001101111011112.1.2数制间的转换1.二、八、十六进制数十进制数转换原则:若两个有理数相等,则两数的整数部分与小数部分一定分别相等。这种转换只需将二、八、十六进制数按权展开。例(110.01)2=1×22+1×21+0×20+0×2-1+1×2-2=(6.25)10
(175)8=1×82+7×81+5×80=(125)10
(B2C)16=11×162+2×161+12×160=(2860)10
2.十进制数二、八、十六进制数1)整数转换方法:除2取余法。DN125=N=125D=1111101B余数31212562215722231=K21=K31=K41=K51=K610221=K00=K1低位高位0=K72.小数转换方法:乘2取整法例如:将十进制数0.8125转换为二进制小数。整个转换过程如下:
0.8125
×21.625整数部分为1,K-1=1高位
0.625
×2
1.25整数部分为1,K-2=1
0.25
×2
0.50整数部分为0,K-3=0
0.50
×2
1.0整数部分为1,K-4=1低位所以转换结果为:(0.8125)10=(0.1101)2
推广:
将十进制数转换为N(二、十六、八)进制数时,整数与小数分别按“除N取余法”与“乘N取整法”进行转换。而N进制数转换为十进制数均可按权展开相加得到。2.2原码、反码和补码一、机器数和真值机器数:一个数连同其符号一起在机器中的表示形式。在数的表示式中引进符号位:0表示正数,1表示负数;使之成为计算机中可使用的带符号数。真值:机器数的数值(不是形式上的真值)。机器数按一定编码方式所代表的真实数值。通常用+/-前缀表示数的正负,用十进制表示数值的大小。8位微机中的带符号数:D7D6D5D4D3D2D1D0符号位数值位D7=0 正数1 负数机器数真值01010010B=== +8211010010B===82二、带符号数的三种表示方法1.原码最高位为符号位0正数1负数[+4]原=00000100B[4]原=10000100B后面n-1位是其数值。原码的特点:(1)数值部分即为该带符号数的二进制值。
(2)“0”有+0和-0之分,若字长为八位,
则:(+0)原=00000000,(–0)原=100000008位二进制原码能表示的数值范围为:
01111111~11111111,即+127~–127。
-(2n-1-1)~+(2n-1-1)
其中n为机器字长。
8位:-127~+12716位:-32767~+327672.原码与计算当X为正数时[X]原和X一样,即[X]原=X。当X为负数时。由于X本身为负数,所以,实际上是将∣X∣数值部分绝对值前面的符号位上写成“1”即可。原码表示法比较直观,它的数值部分就是该数的绝对值,而且与真值、十进制数的转换十分方便。但是它的加减法运算较复杂。当两数相加时,机器要首先判断两数的符号是否相同,如果相同则两数相加,若符号不同,则两数相减。在做减法前,还要判断两数绝对值的大小,然后用大数减去小数,最后再确定差的符号,换言之,用这样一种直接的形式进行加运算时,负数的符号位不能与其数值部分一道参加运算,而必须利用单独的线路确定和的符号位。要实现这些操作,电路就很复杂,这显然是不经济实用的。为了减少设备,解决机器内负数的符号位参加运算的问题,总是将减法运算变成加法运算,也就引进了反码和补码这两种机器数。2.反码[+5]原=[+5]反=00000101B[5]原=10000101B正数的反码与其原码相同。负数的反码除符号位外将原码求反。[5]反=11111010B反码的定义
字长为N位的定点数的反码表示法为:XX>0或X为+0时(2n-1)-|X|X<0或X为-0时[x]反=反码的特点:(1)“0”有+0和-0之分。
(2)8位二进制反码所能表示的数值范围为+127~–127,一般地,对于n位字长的计算机来说,其反码表示
的数值范围为+2n-1–1~–2n-1+1。
(3)8位带符号数用反码表示时,若最高位为“0”(正数)
则后面的7位即为数值;若最高位为“1”(负数),
则后面7位表示的不是此负数的数值,必须把它们按
位取反,才是该负数的二进制值。
正码和反码表示的优点
原码表示的加减法运算比较复杂一实际操作如+-判断等判断,二结果的符号的判断,比补码麻烦多了比如(-5)+7=7-5=23.补码(1)模和同余的概念:*一个计量器的容量或一个计量单位,叫做模或模数,计作M(Mode)。例:时钟的模为:12一个n位二进制计数器的模为:2n*如果两个整数a、b,用某一整数M去除,所得余数相同,则称a、b对模M是同余的,此时称a、b在以M为模时是相等的。记作:
a=b(modM)例:13=1(mod12)*由同余的概念可以得出若干性质:
Ⅰ)a+M=a(modM)
Ⅱ)a+n·M=a(modM,n为整数)
当a为负数时,利用上式,负数就可化为正数了:补码是根据同余的概念引入的,我们来看一个减法通过加法来实现的例子。假定现在是北京时间6点整,有一只手表却是8点整,比北京时间快了2小时,校准的方法有两种,一种是倒拨2小时,一种是正拨10小时。若规定倒拨是做减法,正拨是做加法,那么对手表来讲减2与加10是等价的,也就是说减2可以用加10来实现。这是因为8加10等于18,然而手表最大只能指示12,当大于12时12自然丢失,18减去12就只剩6了。这说明减法在一定条件下,是可以用加法来代替的。这里“12”称为“模”,10称为“-2”对模12的补数。推广到一般则有:A–B=A+(–B+M)=A+(–B)补结论:在模为M的条件下,A减去B,可以用A加上-B的补数来实现。
例:a=-3在以12为模时,则有:
-3+12=-3(mod12)即:9=-3(mod12)
对此,我们称-3的补码为+9(mod12)(2)补码的定义
字长为N位的定点数的补码表示法为:当x≥0时,[x]补=[x]原,即为x本身加上符号位‘0’。([X]补=模+X的真值)
说明由定义:
当x<0时,[x]补=2n
-|X|
,即需由减法求得。
XX≥02n
-|X|X<0(mod2n)[x]补=
(3)负数的补码的求法:1)由定义直接求:需要做减法运算。例:X=-68=-1000100B则
[x]补=28-|x
|=100000000-1000100=10111100则
[-0]补=28-0=100000000-00000000=100000000=[+0]补
则
[-127]补=28-127=100000000-01111111=00000001例:已知X=95,Y=-95,8位二进制数(mod=28=256),[X]补=01011111B=5FH=[X]原=[X]反正数的补码与其原码、反码相等
Y=-95=-01011111B [Y]原=11011111B,[Y]反=10100000B由补码的定义可得:[Y]补=28+(-01011111B) =10100001B100000000B–01011111B10100001B2)利用反码来求:a.当-2n-1<X<0时,可以证明:
[x]补等于[x]原除符号位外,其余各位求反,最低位加1。反之,[x]原等于[x]补除符号位外,其余各位求反,最低位加1。
例:x=-68=-1000100[x]原=11000100[x]补=10111011+1=10111100反之,[x]补=10111100则[x]原=11000011+1=11000100[[X]补]补=[X]原=11000100,对X的补码求补,结果对于其原码,即[[X]补]补=[X]原
4.补码加减法运算法则:[X]补+[Y]补=[X+Y]补(mod2n)……….(1)分四种情况证明如下:①X≥0,Y≥0时,则X+Y≥0∴有
[X]补+[Y]补=X+Y=[X+Y]补(mod2n)②X≥0,Y<0且X+Y≥0时则有:[X]补+[Y]补=X+(2n+Y)=2n+(X+Y)=X+Y=[X+Y]补(mod2n)③X≥0,Y<0且X+Y<0时则有:[X]补+[Y]补=X+(2n+Y)=2n+(X+Y)=[X+Y]补 (mod2n)④X<0,Y<0时,则有X+Y<0∴[X]补+[Y]补=(2n+X)+(2n+Y)=2n+(X+Y)
=[X+Y]补(mod2n)∴有(1)式成立,证毕。结论:在补码机内,无论两加数的真值是正或负,只要把它们表示成相应的补码形式,直接按二进制规则相加,其结果均为‘和’的真值的补码。同样可证明:[X]补+[-Y]补=[X-Y]补(mod2n)……….(2)补码运算的特点:1).真值补码的和等于和的补码。2).符号位当作数值一样进行运算。3).加减法运算都是用加法来实现。4).符号位相加产生的进位位舍去不要。例.计算y=9958(用8位二进制表示)9958=99+(58)=41[y]补=[9958]补=[99]补+[58]补01100011[99]补+11000110[58]补[99]补=01100011B[58]补=11000110By=[y]补=00101001B=41100101001[41]补自动丢失5.溢出的概念需要补充8位二进制补码表示数的范围:128~+127n位二进制补码表示数的范围:2n1~+(2n11)若运算结果超过了字长一定的机器所能表示数的范围,称为溢出。此时运算结果出错。类别二进制编码组合n=8n=16符号数值位n-116进制真值16进制真值正数00011…1111…10┇00…017FH7EH┇01H+127126┇17FFFH7FFEH┇0001H3276732766┇1000…0000H00000H0负数111111…1111…10┇00…0100…00FFHFEH┇81H80H-1-2┇-127-128FFFFHFFFEH┇8001H8000H-1-2┇-32767-32768例1.令CS为数值部分向符号位的进位,CS+1为符号位向高位的进位,此例中,CS=CS+1=0,结果在8位二进制补码表示范围内,没有溢出。0000111101110000+01111111+15+112+12700CS+1CS例2.此例中,Cs≠CS+
1,产生了错误的结果,发生了溢出。
0111111000000101+10000011+126+512501CS+1CS0111111100000101+10000100+127+5124例3.CS=1, CS+1=0, 结果溢出!结果出错。1000010011111011+01111111+1275124例4.CS=0, CS+1=1, 结果溢出!1因为CS= CS+1, 则结果正确。CS
CS+1,则结果溢出。所以 溢出=CS
CS+1结果出错。定点数和浮点数定点数定点整数:小数点约定在最低位的右边。定点小数:小数点约定在符号位之后。浮点数:N=2P×S以32位(4字节)数为例: 阶符、阶码——8位(1个字节) 数符、尾数——24位(3个字节) 范围:
阶符阶码数符尾数SP数据校验码——奇偶校验码奇校验:代码位中1的个数为奇数个偶校验:代码位中1的个数为偶数个n个代码位= 1位校验位+若干信息位例如:0 1100011——偶校验 1 1100011——奇校验n-1n-2……0奇校验:应使代码里连同校验位共有奇数个1。补奇:当数值部分中1的个数为偶数时,可通过置校验位为“1”,使整个代码“1”的个数为奇数。例如:7位信息代码1100011中,有偶数个“1”,为满足奇校验,校验位取“1”,即11100011。偶校验:应使代码里连同校验位共有偶数个1。补偶:当数值部分中1的个数为奇数时,可通过置校验位为“1”,使整个代码“1”的个数为偶数。例如:7位信息代码1100011中,有偶数个“1”,为满足偶校验,校验位取“0”,即01100011。2.3数字与字符的编码一、数字的编码(BCD码)BCD码是一种常用的数字编码。BCD码:Binary-CodedDecimal,即二进制编码的十进制数。用[…]BCD表示。这种编码法分别将每位十进制数字编成4位
二进制代码,从而用二进制数来表示十进制数。
[01001001000
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理人才跨专业团队协作
- 2026年公共关系与危机管理测试题
- 2026年危化品储存使用及MSDS管理练习题
- 2026年军人违反职责罪法律常识问答
- 2026年口腔医学基础与临床操作题库
- 2026年街道民族工作台账管理题
- 五星级客户演讲稿
- 关于进步和退步的演讲稿
- 大学师范生爱国演讲稿
- 2026年微博运营专员笔试题库
- 脉冲场消融在心房颤动治疗中的应用进展2026
- (2025年)医师定期考核题库附答案
- GB/T 3159-2026液压式万能试验机
- 2026年建安杯信息通信建设行业安全竞赛重点题库(新版)
- 施工现场劳务人员组织与管理方案
- 2026年3月15日九江市五类人员面试真题及答案解析
- 2026“蓉漂人才荟”成都东部新区事业单位公开招聘事业人员(30人)笔试参考题库及答案解析
- 2026年扎兰屯职业学院单招职业技能考试题库及答案解析
- 慈善总会考核制度
- 老年骨质疏松骨折的长期随访管理
- 2026中国烟草招聘面试题及答案
评论
0/150
提交评论