运算方法和运算器 (2).ppt
《运算方法和运算器 (2).ppt》由会员分享,可在线阅读,更多相关《运算方法和运算器 (2).ppt(86页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章 运算方法和运算器运算方法和运算器2.1 2.1 数据表示数据表示2.1.1 2.1.1 概述概述一、什么叫数据表示一、什么叫数据表示 是指能由计算机硬件直接识别的数据类型,是指能由计算机硬件直接识别的数据类型,如定点数、浮点数等。而所谓如定点数、浮点数等。而所谓“由硬件直接识由硬件直接识别别”意味着某种数据类型可以用计算机硬件直意味着某种数据类型可以用计算机硬件直接表示出来,并能由计算机指令直接调用该数接表示出来,并能由计算机指令直接调用该数据类型。据类型。二、为什么要研究数据表示问题(重要性)二、为什么要研究数据表示问题(重要性)数据表示和指令系统是影响计算机的全局数据表示和指
2、令系统是影响计算机的全局性的问题,也是计算机硬件和软件的接口(交性的问题,也是计算机硬件和软件的接口(交界面)。了解计算机中数据表示是了解计算机界面)。了解计算机中数据表示是了解计算机各主要部件工作原理的必要基础。各主要部件工作原理的必要基础。三、数据表示的发展:数据表示即类型不是一开始就三、数据表示的发展:数据表示即类型不是一开始就有多种多样,有一个随应用需要而发展的过程。有多种多样,有一个随应用需要而发展的过程。早期只有定点表示,表示数的范围很有限;早期只有定点表示,表示数的范围很有限;为扩大数的表示范围而出现了浮点数表示;为扩大数的表示范围而出现了浮点数表示;计算机应用扩大到商业和事务处
3、理,出现了字符计算机应用扩大到商业和事务处理,出现了字符串数据;串数据;堆栈数据表示;堆栈数据表示;向量数据表示。向量数据表示。一般介绍一般介绍数值型数据数值型数据(能进行算术运算(能进行算术运算能得到明确数值概能得到明确数值概念的数字数据念的数字数据)非数值型数据非数值型数据(以(以数字数据形式进入计数字数据形式进入计算机的声音、图像、算机的声音、图像、文字等信息)文字等信息)二进制(定点、浮点)二进制(定点、浮点)十进制(二十进制(二-十进制)十进制)字符型字符型逻辑型逻辑型2.1.2 2.1.2 数值型数据的表示方法数值型数据的表示方法 一、数的机器码表示一、数的机器码表示 真值和机器数
4、真值和机器数 真值:正负号加绝对值表示的数值真值:正负号加绝对值表示的数值;机器数:因为机器数:因为“+”+”与与“-”-”号在计算机中无号在计算机中无法识别,故需要把数的符号数码化。在计算机中法识别,故需要把数的符号数码化。在计算机中使用的连同数符一起数码化的数称为机器数。通使用的连同数符一起数码化的数称为机器数。通常约定二进制数的最高位为符号位,常约定二进制数的最高位为符号位,“0”0”代表正代表正号,号,“1”1”代表负号。常见的机器数有原码、反码、代表负号。常见的机器数有原码、反码、补码等。补码等。例如:例如:11011101若为原码机器数,则其真值为若为原码机器数,则其真值为 5 5
5、 二、数据格式二、数据格式1 1、定点数(、定点数(Fix-Point NumberFix-Point Number )含义:定点、浮点的含义:定点、浮点的“点点”都指二进制数中的小数都指二进制数中的小数点。定点指小数点位置固定。点。定点指小数点位置固定。小数点不占位小数点不占位,隐含。隐含。定点数分为定点小数定点数分为定点小数(纯小数纯小数)和定点整数和定点整数(纯整数纯整数)。符号位符号位 数值部分数值部分小数点位置小数点位置小数点位置小数点位置符号位符号位 数值部分数值部分小数点位置小数点位置小数点位置小数点位置定点整数定点整数定点小数定点小数(1 1)定点数常见的三种机器码编码形式)定
6、点数常见的三种机器码编码形式例:例:X =X =0.1011010.101101,Y=+101101 Y=+101101 X X原原=1.101101=1.101101,Y Y原原=0101101=0101101 X X反反=1.010010=1.010010,Y Y反反=0101101=0101101XX补补=1.010011=1.010011,Y Y补补=0101101=0101101 注意:对正数它们都等于真值本身,而对注意:对正数它们都等于真值本身,而对负数各有不同的表示。负数各有不同的表示。(2 2)三种编码的比较)三种编码的比较 不同码制中真值不同码制中真值0 0的表示方法不同的表
7、示方法不同 对于真值对于真值0 0,原码和反码各有两种不同的,原码和反码各有两种不同的表示形式,而补码只有唯一的一种表示形表示形式,而补码只有唯一的一种表示形式。假设字长为式。假设字长为8 8位,则:位,则:+0+0原原=00000000=00000000-0-0原原=10000000=10000000+0+0补补=-0=-0补补=00000000=00000000+0+0反反=00000000=00000000-0-0反反=11111111=11111111 定点数的表示范围定点数的表示范围 原码、反码表示的正、负数范围相原码、反码表示的正、负数范围相对零来说是对称的,但补码负数表示范对零来
8、说是对称的,但补码负数表示范围较正数表示范围宽,能多表示一个最围较正数表示范围宽,能多表示一个最负的数(绝对值最大的负数)。原因是负的数(绝对值最大的负数)。原因是原码和反码的真值原码和反码的真值0 0各有两种不同的表各有两种不同的表示形式,而补码只有唯一的一种表示形示形式,而补码只有唯一的一种表示形式。式。定点数的表示数的范围(字长为定点数的表示数的范围(字长为n+1n+1位)位)小数表数范围:小数表数范围:原码原码 (1 1 2 2-n-n )N 1 N 1 2 2-n-n补码补码 1 1 N 1 N 1 2 2-n-n 反码反码 (1 1 2 2-n-n)N 1 N 1 2 2-n-n
9、整数表数范围:整数表数范围:原码原码 (2 2n n 1 1)N N 2 2 n n 1 1 补码补码 2 2 n n N 2N 2 n n 1 1反码反码 (2 2n n 1 1)N 2 N 2n n 1 1特别注意补码的最小负数表示特别注意补码的最小负数表示习题:习题:P.69 P.69 第第1 1、2 2题题1 1、写出下列各数的原码、反码、补码表示、写出下列各数的原码、反码、补码表示(用(用8 8位二进制数)。其中位二进制数)。其中MSBMSB是最高位(又是最高位(又是符号位),是符号位),LSBLSB是最低位。如果是小数,小是最低位。如果是小数,小数点在数点在MSBMSB之后;如果是
10、整数,小数点在之后;如果是整数,小数点在LSBLSB之后。之后。(1 1)35/64 35/64 (2 2)23/128 23/128 (3 3)127127(4 4)用小数表示)用小数表示 1 1 (5 5)用整数表示)用整数表示 1 1解答解答:(1 1)现将)现将-35/64-35/64写成二进制真值写成二进制真值-1000112-1000112-6-6=-0.100011=-0.100011原码:原码:1.1000110 1.1000110 反码:反码:1.01110011.0111001补码:补码:1.01110101.0111010(2 2)先将)先将23/12823/128写成二
11、进制真值为写成二进制真值为101112101112-7-7=0.0010111=0.0010111原码:原码:0.00101110.0010111反码:反码:0.00101110.0010111补码:补码:0.00101110.0010111(3 3)先将)先将-127-127写成二进制真值为写成二进制真值为-1111111-1111111原码:原码:11111111 11111111 (1 1,11111111111111)反码:反码:10000000 10000000 (1 1,00000000000000)补码:补码:10000001 10000001 (1 1,000000100000
12、01)(4 4)用小数表示)用小数表示-1-1:原码与反码的小数表示中没:原码与反码的小数表示中没有有-1-1;补码表示的小数;补码表示的小数-1-1为为1.00000001.0000000(5 5)用整数表示)用整数表示-1-1:原码为:原码为1000000110000001;反码为;反码为1111111011111110;补码为;补码为1111111111111111。2 2、设、设XX补补=a=a0 0.a.a1 1a a2 2aa6 6,其中,其中a ai i取取0 0或或1 1,若要,若要x x 0.50.5,求,求a a0 0,a a1 1,a a2 2,a a6 6的取值。的取值
13、。补充题:将下列数由小到大排序:补充题:将下列数由小到大排序:1616,1010.11B1010.11B,25.3Q25.3Q,X1X1补补=10001101=10001101,1CH1CH,X2X2反反=01001101=01001101,0110.1001BCD0110.1001BCD,X3X3原原=10101011=10101011,X4X4补补=10111111=10111111,-X5-X5补补=10100101 =10100101 解题要点:解题要点:(1 1)统一各个数的表示形式,一般均表示为十进制)统一各个数的表示形式,一般均表示为十进制 (2 2)所需知识:了解所需知识:了解
14、B(binary)B(binary)、Q(octa-)Q(octa-)、H(hex)H(hex)、BCD(Binary-Coded Decimal,BCD(Binary-Coded Decimal,简称简称BCD,BCD,即二即二-十进制编码十进制编码)含含义;各种进制数向十进制的转换;机器码求真值。义;各种进制数向十进制的转换;机器码求真值。以上十个数由小到大排序结果:以上十个数由小到大排序结果:X1X1,X3 X3,X4 X4,0110.1001BCD,1010.11B 0110.1001BCD,1010.11B,1616,25.3Q25.3Q,1CH1CH,X2 X2,X5 X5 例例.
15、已知已知:机器字长机器字长1616位位,定点表示定点表示,尾数尾数1515位位,数符数符1 1位位,问问:(1)(1)定点原码整数表示时定点原码整数表示时,最大正数是多少最大正数是多少?最小负数是最小负数是多少多少?(2)(2)定点原码小数表示时定点原码小数表示时,最大正数是多少最大正数是多少?最小负数是最小负数是多少多少?解解:(1):(1)定点原码整数表示定点原码整数表示:最小负整数表示最小负整数表示:1 111 111 111 111 111:1 111 111 111 111 111 最小负整数最小负整数=-(2=-(21515-1)-1)1010=(-32767)=(-32767)1
16、010 最大正整数表示最大正整数表示:0 111 111 111 111 111:0 111 111 111 111 111 最大正整数最大正整数=(2=(21515-1)-1)1010=(+32767)=(+32767)1010 (2)(2)定点原码小数表示定点原码小数表示:最大正数值最大正数值=(1-2=(1-2-15-15)1010=(+0.11111)=(+0.11111)2 2 1515个个1 1 最小负数值最小负数值=-(1-2=-(1-2-15-15)1010=(-0.11111)=(-0.11111)2 22.1.2 2.1.2 数值型数据的表示方法数值型数据的表示方法二、数据
17、格式二、数据格式1 1、定点数(、定点数(Fix-Point NumberFix-Point Number )2 2、浮点数(、浮点数(Float-Point NumberFloat-Point Number):小数点位置小数点位置可以自由浮动,数的范围和精度分别表示。浮点可以自由浮动,数的范围和精度分别表示。浮点数的一般表示格式为:数的一般表示格式为:N=r N=rE EMM 其中其中:r:r称为浮点数阶码的底,或尾数基数,一般称为浮点数阶码的底,或尾数基数,一般r=2r=2;E-E-阶码,一般为定点整数,决定浮点数的表示范围;阶码,一般为定点整数,决定浮点数的表示范围;M-M-尾数,一般为
18、定点小数,决定浮点数的精度。尾数,一般为定点小数,决定浮点数的精度。例例:N=-0.000001011,:N=-0.000001011,可将其表示为以下的浮可将其表示为以下的浮点数形式点数形式:N=2N=2-3-3x x(-0.001011-0.001011)=2=2-4-4(-0.01011)-0.01011)=2=2-5-5(-0.1011)=(-0.1011)=(1 1)浮点数的规格化)浮点数的规格化 目的:为了提高运算精度,充分利用尾数的目的:为了提高运算精度,充分利用尾数的有效位数,同时保证浮点数表示形式唯一,通有效位数,同时保证浮点数表示形式唯一,通常采取浮点规格化形式。常采取浮点
19、规格化形式。定义:规定尾数小数点后第一位,即尾数数定义:规定尾数小数点后第一位,即尾数数值位的最高有效位值位的最高有效位(MSB)(MSB)必须是非零有效数字,必须是非零有效数字,即尾数满足:即尾数满足:1/2=|M|=11/2=|M|=1 例:将下列数表示成规格化的浮点数形式例:将下列数表示成规格化的浮点数形式:11.101B,-10,16,7.DH 11.101B,-10,16,7.DH解解:11.101B=0.11101B2:11.101B=0.11101B22 2 -10=-1010B=-0.101B2 -10=-1010B=-0.101B24 4 16=10000B=0.1B216=
20、10000B=0.1B25 5 7.DH=111.1101B=0.1111101B2 7.DH=111.1101B=0.1111101B23 3 具体形式具体形式 当尾数当尾数MM的基数为的基数为2 2时,规格化表示的尾数形式为:时,规格化表示的尾数形式为:正数正数(原码、补码原码、补码):0.1,0.1,其最大值为其最大值为0.1111,0.1111,最小值为最小值为0.1000,0.1000,尾数的表示范围尾数的表示范围1/2=M1;1/2=M1;负数负数(原码原码):):1.1,1.1,其最大值为其最大值为1.1000,1.1000,最小值为最小值为1.1111,1.1111,尾数表示的
21、范围为尾数表示的范围为-1M=-1/2;-1M=-1/2;负数负数(补码补码):):1.0,1.0,其最大值为其最大值为1.0111,1.0111,最小值为最小值为1.0000,1.0000,尾数的表示范围为尾数的表示范围为-1=M-1/2.-1=M0N0时时,MSB=1,MSB=1,当当N0N0 X0 时:时:2 2-1-1 X 1-2 X 1-2-21-21当当X0X0时:时:-1 X2-1 X0X0时:时:2 2-513-513 X 2 X 2511511(1-2-1-2-2121)当当X0X0时:时:-2-2511511 X-2 X-2-512-512 2 2-1-1或或 -2 -25
22、11511 X -2 X -2-512-512(2 2-1-1+2+2-21-21)(4 4)最接近于零的正规格化数与负规格化数。)最接近于零的正规格化数与负规格化数。例:将下列十进制数表示成浮点规格化数,例:将下列十进制数表示成浮点规格化数,阶码阶码3 3位,用补码表示;尾数位,用补码表示;尾数9 9位,用补码位,用补码表示。表示。各包含各包含1 1位符号位在内。位符号位在内。(1)27/64 (2)-27/64解答解答(1)27/64=11011X2-6=0.11011X2-1表示成阶码(补码)、尾码(补码)为:表示成阶码(补码)、尾码(补码)为:1,11;0.11011000(2)-27
23、/64=-11011X2-6=-0.11011000X2-1表示成如下形式为:表示成如下形式为:1,11;1.001010002.1.2 2.1.2 数值数据的表示法数值数据的表示法三、数字编码三、数字编码以一种中间编码形式表以一种中间编码形式表示数(示数(BCDBCD码)码)1 1、编码目的:以机器能表示与识别的二进制形式存在,、编码目的:以机器能表示与识别的二进制形式存在,又比纯二进制数(又比纯二进制数(pure binarypure binary)更接近日常所习惯的十)更接近日常所习惯的十进制数。进制数。2 2、BCDBCD编码:编码:Binary Coded DecimalBinary
24、 Coded Decimal,即二进制编码的,即二进制编码的十进制数,种类有很多,如十进制数,种类有很多,如 Gray Gray码、码、余余3 3码、码、8421BCD8421BCD码、码、EBCD EBCD码等。码等。3 3、8421BCD8421BCD码:用四位二进制数表示一位十进制数码:用四位二进制数表示一位十进制数0909。0000000000,00011,00011,,1001910019,0001000010 0001000010,00010001110001000111,00010101000101011515,00010110160001011016。注意。注意1010以后的十
25、进制数的表以后的十进制数的表示。示。一、出错的原因:一、出错的原因:1 1、元器件质量不可靠;、元器件质量不可靠;2 2、线路工艺不过关;、线路工艺不过关;3 3、远距离传输带来的干扰等等,均会导致存取、加、远距离传输带来的干扰等等,均会导致存取、加工、传输时出现工、传输时出现0 0变成变成1 1或或1 1变成变成0 0的错误。的错误。二、错误检测与纠正二、错误检测与纠正 方法有很多:常见的一种是对数据信息进行扩充,方法有很多:常见的一种是对数据信息进行扩充,加入新代码,使之与原数据共同按某种规律编码后加入新代码,使之与原数据共同按某种规律编码后具有发现错误的能力,有些甚至具有指出具体的错具有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运算方法和运算器 2 运算 方法 运算器
限制150内