第二章 计算机中数据信息 的表示及运算.ppt
《第二章 计算机中数据信息 的表示及运算.ppt》由会员分享,可在线阅读,更多相关《第二章 计算机中数据信息 的表示及运算.ppt(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机中数据信息 的表示及运算 本章基本要求:1.掌握计算机中各常用计数制间的转换方法;2.掌握计算机机内信息的主要编码形式;带符号数的编码:原码、反码、补码、移码;无符号数的编码;其它编码:BCD码、ASCII码、汉字编码;3.掌握定点数及浮点数的表示及定点数的加、减运算。2.1 数制 2.1.1进位计数制的几个基本概念进位计数制进位计数制:用少量的数字符号(也称数码),用少量的数字符号(也称数码),按先后次序把它们排成数位,由低到高进行计数,按先后次序把它们排成数位,由低到高进行计数,计满进位,这样的方法称为进位计数制计满进位,这样的方法称为进位计数制基数:基数:进位制的基本特征数,即所用
2、到的数字符进位制的基本特征数,即所用到的数字符号个数。号个数。例如十进制例如十进制 :用:用0909 十个数码表示,基数为十个数码表示,基数为1010权:权:进位制中各位进位制中各位“1”1”所表示的值为该位的权所表示的值为该位的权常用的进位制:常用的进位制:2 2,8 8,1010,1616进制。进制。1)十进制计数制(Decimal)基数:10;符号:0,1,2,3,4,5,6,7,8,9;计算规律:“逢十进一”或“借一当十”;并列表示:N10=dn-1dn-2 d1d0d-1d-2 d-m 多项式展开:N10=dn-1 10n-1+d1 101+d0 100+d-1 10-1+.d-m
3、10-m m,n为正整数,其中n为整数位数;m为小数位数。Di表示第i位的系数,10i称为该位的权.2)二进制(Binary)基数:2符号:0,1计算规律:逢二进一或借一当二二进制的多项式表示:N2=dn-1 2n-1+dn-2 2n-2+d1 21+d020 +d-1 2-1+d-2 2-2+d-m 2-m 其中n为整数位数;m为小数位数。Di表示第i位的系数,2i称为该位的权.b例如:一个二进制数(1101.01)2的多项式表示:(1101.01)2=123+122+021+120+02-1+12-2 =(13.25)10二进制数的性质移位性质:小数点左移一位,数值减小一半小数点右移一位,
4、数值扩大一倍奇偶性质:最低位为0,偶数最低位为1,奇数二进制数的特点bb优点:优点:只有只有0 0,1 1两个数码,易于用物理器件表示。两个数码,易于用物理器件表示。运算规则简单;运算规则简单;0 0,1 1与逻辑命题中的真假相对应,与逻辑命题中的真假相对应,为计算机中实现逻辑运算和逻辑判断提供有利条件。为计算机中实现逻辑运算和逻辑判断提供有利条件。bb缺点:缺点:书写冗长,不易识别,不易发现错误书写冗长,不易识别,不易发现错误 3)十六进制(Hexadecimal)基数:16符号:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F计算规律:逢十六进一或借一当十六十六进制的多项式表
5、示:N16=dn-1 16n-1+dn-2 16n-2+.d1 161+d0 160 +d-1 16-1+d-2 16-2+.d-m 16-m 其中n为整数位数;m为小数位数。Di表示第i位的系数,16i称为该位的权.例如:十六进制数(2C7.1F)16的表示:(2C7.1F)16=2 162+12 161+7 160+116-1+1516-24)八进制(Octal)其定义与十六进制相似,请自习掌握。2.1.2 进位计数制之间的转换1)R进制转换成十进制的方法按权展开法:先写成多项式,然后计算十进制结果.N=dn-1dn-2.d1d0d-1d-2.d-m =dn-1Rn-1+.d1R1+d0R
6、0+d-1R-1.d-mR-m例如:写出(1101.01)2,(237)8,(10D)16的十进制数 (1101.01)2=123+122+021+120+02-1+12-2 =8+4+1+0.25=13.25 (237)8=282+381+780=128+24+7=159 (10D)16=1162+13160=256+13=269 2)十进制转换成二进制方法一般分为两个步骤:整数部分的转换 除2取余法(基数除法)减权定位法小数部分的转换 乘2取整法(基数乘法)除基取余法:把给定的除以基数,取余数作为最低位的系数,然后继续将商部分除以 基数,余数作为次低位系数,重复操作直至商为 0例如:用基数
7、除法将(327)10转换成二进制数2 327 余数2 163 1 2 81 1 2 40 1 2 20 0 2 10 0 2 5 0 2 2 1 2 1 0 2 0 1 (327)(327)10 10=(=(101000111101000111)2 2减权定位法将十进制数依次从二进制的最高位权值进行比较,若够减则对应位置1,减去该权值后再往下比较,若不够减则对应位为0,重复操作直至差数为0。例如:将(327)10 转换成二进制数 327-256=71 1 71128 0 71-64=7 1 732 0 716 0 78 0 7-4=3 1 3-2=1 1 1-1=0 1 (327)10=(10
8、1000111)2 乘基取整法(小数部分的转换)把给定的十进制小数乘以2,取其整数作为二进制小数的第一位,然后取小数部分继续乘以2,将所的整数部分作为第二位小数,重复操作直至得到所需要的二进制小数。例如:将(0.8125)10 转换成二进制小数.整数部分2 0.8125=1.625 1 2 0.625=1.25 1 2 0.25=0.5 0 2 0.5=1.0 1(0.8125)10=(0.1101)2例如:将(0.2)10 转换成二进制小数0.2 2=0.4整数部分00.4 2=0.8 00.8 2=1.6 10.6 2=1.2 10.2 2=0.4 00.4 2=0.8 00.8 2=1.
9、6 10.6 2=1.2 1(至满足需要精度为止)(0.2)10=0.0011001100112 3)其它进制之间的直接转换法 二八 二 十六 000 0 0000 0 1000 8001 1 0001 1 1001 9010 2 0010 2 1010 A011 3 0011 3 1011 B100 4 0100 4 1100 C101 5 0101 5 1101 D110 6 0110 6 1110 E111 7 0111 7 1111 F二进制转换成八进制例:(10110111.01101)2(10 110 111.011 01)(10 110 111.011 01)2 2=(267.3
10、2)=(267.32)8 8八进制:2 6 7.3 2二进制:010,110,111.011,010二进制:10,110,111.011,01八进制转换二进制例如:(123.46)8=(001,010,011.100,110)2=(1 010 011.100 11)2二进制转换成十六进制例:(110110111.01101)2(10110111.01101)(10110111.01101)2 2=(1B7.68)=(1B7.68)1616十六进制:1 B 7.6 8二进制:0001,1011,0111.0110,1000二进制:1,1011,0111.0110,1十六进制转换成二进制例如:(7
11、AC.DE)16=(0111,1010,1100.1101,1110)2=(111 1010 1100.1101 111)22.2 数值数据的编码与表示2.2.1 带符号数的编码名词解释:真值和机器数真值:正、负号加某进制数绝对值的形式称为真值。如二进制真值:X=+1011 ;y=-1011机器数:符号数码化的数称为机器数。常用的几种码制表示法原码、补码、反码、移码1)原码表示法 原码表示法用“0”表示正号,用“1”表示负号,有效值部分用二进制的绝对值表示。以下n均表示字长的有效位数。纯小数:X 1-2-(n-1)X0 X原=1-X=1+|X|0X-(1-2-(n-1)完成下列数的真值到原码的
12、转换 X1 =+0.1011011 X1原 =0.1011011 X2 =-0.1011011 X2原=1.1011011纯整数:X 2n-1-1X0 X原=2n-1-X=2n-1+|X|0X-(2n-1-1)完成下列数的真值到原码的转换X1 =+0 1011011 X2 =-0 1011011 X1X1原原=0 0 10110111011011 X2X2原原=1 1 10110111011011原码小数的表示范围:+0原=0.0000000;-0原=1.0000000 最大值:1-2-(n-1)最小值:-(1-2-(n-1)表示数值的个数:2n-1思考题:思考题:若二进制的位数分别是8位、1
13、6位,试求其表示的最大值、最小值及所能表示的数的个数?8位:127/128,-127/128,255 16位:32767/32768,-32767/32768,65535原码整数的表示范围:+0原=00000000;-0原=10000000 最大值 :2(n-1)-1最小值 :-(2(n-1)-1)表示数的个数:2n-1思考题:思考题:若二进制的位数分别是8、16,求其表示的最大值、最小值及表示数的个数。8位:127,-127,25516位:32767,-32767,65535原码特点:表示简单、易懂;同真值之间进行转换方便;实现乘除运算规则简单;进行加减运算十分麻烦。2)补码表示法模:计量器
14、具的容量或称为模数。4位字长的机器表示的二进制整数为:00001111 共16种状态,模为16=24。n位字长整数(包括1位符号位)的模值为2n,n位纯小数(包括1位符号位)的模值为2,n位数的模值:n位数取全1后并在末位加1。补码的定义(机器数的最高位表示符号)正数的补码就是正数的本身,负数的补码是原负数加上模。纯小数求补:X 1-2-(n-1)X0 x补=2+X=2-|X|0X-1 完成下列数的真值到补码的转换X1 =+0.1011011 X2 =-0.1011011 X1 1补补=0.1011011X2 2补补=1.0100101纯整数求补:X 2(n-1)-1 X0 x补=2n+X=2
15、n-|X|0X-2(n-1)完成下列数的真值到补码的转换 X1 =+0 1011011 X2 =-0 1011011 X1 1补补=0 1011011X2 2补补=1 0100101补码的表示范围:N位纯整数:2n-1-1 -2n-1 N位纯小数:1-2-(n-1)-1 均能表示 2n 个数 在补码系统中,由于0有唯一的编码,因此n位二进制能表示个2n补码数。原码与补码之间的转换原码求补码正数 X补=X原负数 符号除外,各位取反,末位加1例:X=-01001001 X原=11001001,X补=10110110+1=10110111 X补=28+X=100000000-1001001=1011
16、0111 100000000 -1001001 10110111 由X补求-X补(求机器负数从原码求补码)运算过程是连同符号位一起将各位取反,末位再加1。设字长N=8位例:X =+100 1001 X补=0100 1001 -X补=1011 0110+1-X补=1011 0111最大的优点 将减法运算转换成加法运算。X补-Y补=X补+-Y补例如 X=(11)10=(1011)2;Y=(5)10=(0101)2 已知字长n=5位X补-Y补=X补+-Y补 =01011+11011=100110=00110=(6)10 注:最高1位已经超过字长故应丢掉3)反码表示法 正数的表示与原、补码相同;负数的
17、反码符号位为1,数值位是将原码的数值按位取反,就得到该数的反码表示。纯小数:X 1 X 0 X反=(2-2-(n-1)+X 0 X -(1-2-(n-1)X1=+0.1011011,X1 反=0.1011011 X2=-0.1011011,X2 反=1.0100100 1.1 1 1 1 1 1 1 -0.1 0 1 1 0 1 1 1.0 1 0 0 1 0 0 纯整数:X 2n-1 X 0 X反=(2n-1)+X 0 X -2n-1 X3=+1011011,X3反=01011011 X4=-1011011,X4反=10100100 1 1 1 1 1 1 1 1 -1 0 1 1 0 1
18、1 1 0 1 0 0 1 0 0 零的反码不唯一!+0反=00000000;-0反=111111114)移码(增码)表示法X移=2n-1+X 2n-1-1 X-2n-1 X X1 1=0101 0101=0101 0101 X X1 1 补补 =0101=0101 01010101 X X1 1 移移 =1101 0101=1101 0101 X X2 2=-0101 0101=-0101 0101 X X2 2 补补 =1010 1011=1010 1011 X X2 2 移移 =0010 1011=0010 10112.2.2 无符号数的表示 在数据处理的过程中,如不需要设置符号位时:可
19、用全部字长来表示数值大小。如8位无符号数的取值范围是0255(2)。由此可见:同样位数的数据在机器中,采用无符号表示或有符号表示其取值范围是不同的!码制表示法小结X原、X反、X补 用“0”表示正号,用“1”表示负号;X移 用“1”表示正号,用“0”表示负号。如果X为正数,则X原=X反=X补。如果X为0,则 X补、X移有唯一 编码,X原、X反则有两种编码。移码与补码的形式相同,只是符号位相反。2.2.3 计算机中数的表示形式计算机中数的表示形式数值范围:数值范围:一种数据类型所能表示的最大值和最一种数据类型所能表示的最大值和最小值。小值。数据精度:数据精度:实数所能表示的有效数字位数。实数所能表
20、示的有效数字位数。数值范围和数据精度:数值范围和数据精度:均与使用多少位二进制位数以及编码方式均与使用多少位二进制位数以及编码方式有关。有关。计算机用数字表示正负,计算机用数字表示正负,隐含隐含规定小数点。规定小数点。采用采用“定点定点”、“浮点浮点”两种表示形式。两种表示形式。一、数的定点表示方法一、数的定点表示方法1.1.定点整数定点整数小数点位置固定在数的最低位之后。小数点位置固定在数的最低位之后。如:如:D Dn-1 n-1 D Dn-2 n-2 D D1 1 D D0 0.范围:范围:2 2n-1 n-1-1 1 -2 2n-1n-1 (采用字长采用字长 n n=16=16 位补码时
21、其值为位补码时其值为32767 32767 -3276832768)2.2.定点小数定点小数小数点位置固定在数的符号位之后、小数点位置固定在数的符号位之后、数值最高位之前。数值最高位之前。如:如:D D0 0.D D-1 -1 D D-(n-2)-(n-2)D D-(n-1)-(n-1)范围:范围:1 1-2 2-(n-1)-(n-1)-1 1 (采用字长采用字长n=16n=16位时其值为:位时其值为:32767/32768 32767/32768 -1 1)其中其中n n表示字长位数。表示字长位数。1 1、浮点数的表示:浮点数的表示:把字长分成阶码把字长分成阶码E E和尾数和尾数D D两部分
22、。两部分。根据:根据:阶码阶码E E表示数据范围、尾数表示数据范围、尾数D D表示数据精度。表示数据精度。(1)(1)(1)(1)J J E Em-2.m-2.E E0 0 S S D D-1-1D D-(n-1)-(n-1)阶符阶符 阶码值阶码值 数符数符 .尾数值尾数值 (2)(2)(2)(2)S S J J E Em-2.m-2.E E0 0 D D-1-1D D-(n-1)-(n-1)数符数符 阶符阶符 阶码值阶码值 .尾数值尾数值通常,阶码为补码或移码定点整数形式;通常,阶码为补码或移码定点整数形式;尾数为补码或原码定点小数。尾数为补码或原码定点小数。二、二、数的浮点数的浮点(实数)
23、(实数)表示方法表示方法2、浮点数的规格化浮点数的规格化 在有限字长的情况下如何解决精度和数据的表示范围这样一对在有限字长的情况下如何解决精度和数据的表示范围这样一对矛盾,是这里要讨论的主要问题。矛盾,是这里要讨论的主要问题。目的:将阶码和尾数所占的位数协调好。目的:将阶码和尾数所占的位数协调好。规格化方法:调整阶码使尾数满足下列关系:规格化方法:调整阶码使尾数满足下列关系:n n尾数为原码表示时:尾数为原码表示时:无论正负应满足无论正负应满足1/21/2|d|1|d|1 即:小数点后的第一位数一定要为即:小数点后的第一位数一定要为1 1(充分利用有效位)(充分利用有效位)。正数的尾数应为正数
24、的尾数应为 0.1x0.1x.x.x负数的尾数应为负数的尾数应为 1.1x1.1x.x.xn n尾数用补码表示时:尾数用补码表示时:小数最高位应与数符符号位相反。小数最高位应与数符符号位相反。正数应满足正数应满足 1/21/2d1d d-1 d-1,即即 1 1.0 x.0 x.x.x例题:例题:设某机器用设某机器用3232位表示一个实数,阶码部分位表示一个实数,阶码部分8 8位(含位(含1 1位阶符),用定点位阶符),用定点整数补码表示;尾数部分整数补码表示;尾数部分2424位(含数符位(含数符1 1位),用规格化定点小数补码表示,位),用规格化定点小数补码表示,基数为基数为2 2。写出。写
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二章 计算机中数据信息 的表示及运算 第二 计算机 数据 信息 表示 运算
限制150内