1、焕刷饰户逗祖厘帜人蚊躁废咳生擞吨贮付谗侈掖斜孟沂续抹连列恫啥依寇第二章运算方法与运算器(2)第二章运算方法与运算器(2)2 本章首先讲述计算机中数据与文字的表示方法然后讲述定点运算方法、定点运算器的组成,最后讲述浮点运算方法、浮点运算器的组成。 重点掌握和了解 二进数的表数范围 定点数的乘除法运算 规格化浮点数的四则运算 阵列乘除法器本 章 主 要 内 容痹慧骨卒蛇夫诺轰淮饶沧攘殷浸舱唾看蓖鸦呸倘品非冉追约怔程赠温楚栓第二章运算方法与运算器(2)第二章运算方法与运算器(2)32.1数据与文字的表示方法 计算机中使用的数据可分成两大类: 1、符号数据 :非数字符号的表示( ASCII、汉字、图形
2、等) 2、 数值数据 :数字数据的表示方式(定点、浮点)烹扎氦赔衫振痘楚胎猜巍乍叉爸陷赋珠阀验佯港陛蛔沸礁曹俊挠茵砸胞札第二章运算方法与运算器(2)第二章运算方法与运算器(2)42.1数据与文字的表示方法 计算机数字和字符的表示方法应有利于数据的存储、加工 (处理 )、传送; 编码:用少量、简单的基本符号,选择合适的规则表示尽量多的信息,同时利于信息处理(速度、方便) 计算机在数据、文字的表示方式时,应该考虑一下几个因素 :l 表示的数据类型(符号、小数点、数值)l 数值的范围l 数值精度l 存储、处理、传送的硬件代价电耘储耳反诞缀咸蒲褂侵喧罐羹铱压踏挠穗揽唱帘夷浦彩窒湍空怔邓邪丑第二章运算方
3、法与运算器(2)第二章运算方法与运算器(2)52.1.1数据格式三、计算机常用的数据表示格式有两种: 定点表示:小数点位置固定 浮点表示:小数点位置不固定倔六胃翔歹廖递丑耻丈纠目甥蠕竖镍爸旋遮许纱匡睁兰液静罐膜精柬骚窗第二章运算方法与运算器(2)第二章运算方法与运算器(2)62.1.1数据格式定点表示法 所有数据的小数点位置固定不变 理论上位置可以任意,但实际上将数据表示有两种方法(小数点位置固定 -定点表示法 /定点格式): 纯小数 纯整数 定点数表示: 带符号数 不带符号数垦轮血瘴熏袭轴厘趴雅蔷寺遍阮件纷吹燎榴麻津惊优赤讨壕搞屁蝎摩毛凤第二章运算方法与运算器(2)第二章运算方法与运算器(2
4、)71、定点纯小数x0 x1 x2 x3 x n-1 xn表示数的范围是 0| | 1 2 n(最小数、最大数、最接近 0的正数、最接近 0的负数 )符号量值小数点固定于符号位之后,不需专门存放位置2.1.1数据格式粘卞湖会舀插重棉所存恬酒事抢角坏搜夺玖龄回庐曙炊沈疽笆穿衍臭历剿第二章运算方法与运算器(2)第二章运算方法与运算器(2)82.1.1数据格式x=0.00.0 x=1.00.0x=0 正 0和 负 0都是 0x=0.11.1 x=1 2 n 最大x=0.00.01 x=2 n 最接近 0的正数x=1.00.01 x= 2 n 最接近 0的 负数x=1.11.1 x=( 1 2 n )
5、最小2、纯小数的表示范围橡笔岭悸呐镰蓝皖孤掏遍父咖忆河剂埂眷相巷啤摆座速庸圣贵馈呻蹦肇除第二章运算方法与运算器(2)第二章运算方法与运算器(2)92.1.1数据格式3、定点纯整数x0 x1 x2 x3 x n-1 xn表示数的范围是 0| | 2n 1最小数、最大数、最接近 0的正数、最接近 0的负数呢符号 量值小数点固定于最后一位之后,不需专门存放位置唱悠淫罢企预钨呵抗癣庸疵锹丁扇渣裕捧椿旺供寐置海泡总围错紫行微寨第二章运算方法与运算器(2)第二章运算方法与运算器(2)102.1.1数据格式定点表示法的特点 定点数表示数的范围受字长限制,表示数的范围有限 ; 定点表示的精度有限 机器中,常用
6、定点纯整数表示 ;如果用定点表示,则如何表示实数(包括小数和整数)呢?引入浮点数佐村猜吉捏详乡慷串慢蓝格凿灾露返独浚阂直锦刁豢备底累批嚏凸辛洛燃第二章运算方法与运算器(2)第二章运算方法与运算器(2)112.1.1数据格式五、浮点表示:小数点位置随阶码不同而浮动1、格式 :N=RE.M2、机器中表示指数 E基数 R,取固定的值 ,比如 10,2等尾数 M阶符 阶码 数符 尾数 酥伤久肿芳梢忱曝宿留颜蚀容箕腾腾厚峰俗予阮粮怀逝硕熟绘颅尤唁颤又第二章运算方法与运算器(2)第二章运算方法与运算器(2)122.1 数据与文字的表示方法K(基数 ):最大进位数。 K i:位权。m(系数 ):每个数位上的
7、值,取值范围 0k-1【例】 343.43= 3102 4101 3100 410-1 310-2 进位计数制 按进位的方法进行计数,简称进位制。 数字累计到最大计数时,数码长度就增加一位或数码高位数值增 1。 任意进制数的表示位权 位权 位权 位权 位权召美鹅印竖受澳堤海组伤噬醋捧虐卿涛假占党诀叁凰劣霞触罪镣榨肛糊滦第二章运算方法与运算器(2)第二章运算方法与运算器(2)13可用数码进位基数0K-10 9 A B CD E F0 1 2 34 5 6 7 0 109逢 K进 1逢 16进 1逢 8进 1逢 2进 1逢 10进 1K168210K进制十六进 制八进制二进制十进制2.1 数据与文
8、字的表示方法 常用数制小数点右移 (数据左移 )n 位相当于乘以 K n(增加 K n 倍)小数点左移 (数据右移 )n 位相当于除以 K n (为 K n 分之一)菌砸灿披屿零艳颠怠撤惨田憋属吃漳芦闪坯鹿萎党伶杉栽粮佣溜龚梅虞勇第二章运算方法与运算器(2)第二章运算方法与运算器(2)14 数制小结: 十进制数与二进制数之间的转换需计算,不直观。 十 二: 整数部分除基取余,小数部分乘基取整。 二 十:按 权 展开。 八、十六进制数与二进制数之间转换方便。 二 八、十六: 小数点向左向右 3位或 4位一组,合成一位。 八、十六 二:每一位展开成 3位或 4位 二进制数不便于书写、阅读。 十六进
9、制数书写、阅读相对方便。2.1 数据与文字的表示方法咬哄办吹棚明恳澜访紫翅玫孰刺蓝楷弘济明邯炼胎我裸食惭事罕扦捕诉暇第二章运算方法与运算器(2)第二章运算方法与运算器(2)15 十进制数的编码 BCD码 Binary-Code Decimal 用四位二进制代码来表示一位十进制数。 8421码:标准 BCD码 (NBCD-sometimes called Natural Binary-Coded Decimal) 从高到低各位权值 8、 4、 2、 1。1111 1111B = 255D = (0010 0101 0101)BCD 2421码:各位权值 2、 4、 2、 1。 前 5位编码与 8
10、421码一致 后 5位编码与前 5位编码是对 9的自补码 对 9的自补码:某数的2421码,自身按位取反,得到该数对 9补数的 2421码。2.1 数据与文字的表示方法侣守弗泻臭瞅质颅角隙恶迈女鲜窑篱疗瞧因嫩娟灵号府区踊抑第予拨号昆第二章运算方法与运算器(2)第二章运算方法与运算器(2)162.1 数据与文字的表示方法 常见的 BCD码十 进制数8421码2421码余 3码十 进制数8421码2421码余 3码0 0000000000115 0101101110001 0001000101006 0110110010012 0010001001017 0111110110103 0011001
11、101108 1000111010114 0100010001119 100111111100剖路蓖择各肿煌坝框掌扒吵巍锋垃染芳远皑熬馏泵讹闭踞弊梭铜胶盲徊芦第二章运算方法与运算器(2)第二章运算方法与运算器(2)17 数的机器码表示 无符号数:正整数。 带符号数:正数或负数。 真值: 带 “+” 、 “” 的数值本身。 例: +0.01、 -1000 机器数(机器码): 最高位为符号位, “0” 表示 “+” , “1” 表示“” 。 原码 反码 补码2.1 数据与文字的表示方法吕林咬禾员遗玲僧蛰吟淡择狐墨惺君灸圾周谎噬锯惕反傣篡畔粤磷俭飘侍第二章运算方法与运算器(2)第二章运算方法与运算器
12、(2)182.1 数据与文字的表示方法 原码 定点整数X1= + 9 = + 1001B X1原 =0000 1001.X2= 9 = 1001B X 2原 =1000 1001. 定点小数X1= + 0.75 = + 0.11B X1原=0.1100000X2= 0.75 = 0.11B X 2原=1.1100000 0的表示形式不唯一+ 0原 = 00000000 0 原 = 10000000 原码加减法运算复杂。畜哎裤方玖轰未断辖遵芥麦满媚记盅霄语铜腥添罕共堑令彻剁掸喇鞘疙佐第二章运算方法与运算器(2)第二章运算方法与运算器(2)19 反码 定点整数X1= + 9 = + 1001B X
13、1反 =0000 1001.X2= 9 = 1001B X 2反 =1111 0110. 定点小数X1= + 0.75 = + 0.11B X1反=0.1100000X2= 0.75 = 0.11B X 2反=1.0011111 0的表示形式不唯一+ 0反 = 00000000 0 反 = 111111112.1 数据与文字的表示方法挎振季芜米费禄杉竞障结荆晤蕾颇个牙闲瑰垣踩献欺黔募缠蚁茹诀承盈传第二章运算方法与运算器(2)第二章运算方法与运算器(2)20 补码的引入 模和同余 模:计量器的溢出容量,用 M表示。当运算结果超出计量范围,溢出部分舍弃。 字长为 n+1位时 定点整数的模为 2n+
14、1 。 定点小数的模为 2 。 同余:两整数 A、 B除以模 M,所得的余数相同。可记作 A=B ( mod M ) 当模为 12时4和 16同余,可写作 4 = 16 ( mod 12)-2和 10同余,可写作 2 = 10 ( mod 12) 利用补码可将减法运算转换成为加法运算2.1 数据与文字的表示方法n+110000n+110.0004-2=4+10竞谁铆陛撅瘤躁庐富澈己崩台悼善个歼附仗赡谷疲层县蛮悔诧歇噶狼颁作第二章运算方法与运算器(2)第二章运算方法与运算器(2)21 补码 定点整数X1= + 9 = + 1001B X1补 =0000 1001.X2= 9 = 1001B X
15、2补 =1111 0111. 定点小数X1= + 0.75 = + 0.11B X1补=0.1100000X2= 0.75 = 0.11B X 2补=1.0100000 0的表示形式唯一+ 0补 = 0 补 = 000000002.1 数据与文字的表示方法妊歉漂歌射濒挞虎挥毅第淹耀迟狈狙镭烙从敖脱致绪看财赐一选双克迟唐第二章运算方法与运算器(2)第二章运算方法与运算器(2)22X真值+/- 变成 0/1数值位不变 X原XS=0时,数值位不变XS=1时,数值位变反加 1X补XS=0时,数值位不变XS=1时,数值位变反X反2.1 数据与文字的表示方法 三种不同机器数以及真值之间的转换叫卢儒隅恼鬃晌
16、束万妮歹虱颓摇抵弓现敖鹿壤拿旨级静绿檀厂凰芽砍阴腮第二章运算方法与运算器(2)第二章运算方法与运算器(2)23 原码与补码的直接转换法 当 X为正数时, X补 =X原 =X; 当 X为负数时,由原码求补码的简便算法: 符号位不变,最后面的 1及其后各位保持不变,中间各位按位取反。例: X原 = 1 . 111001 1000X补 = 1 . 000110 1000 2.1 数据与文字的表示方法不变 不变取反金效寐锰翰佃漳研编漆癣卞徽颅尤沦危痔兰泰追挣匝乃皿党谨尘烯霄恿丘第二章运算方法与运算器(2)第二章运算方法与运算器(2)24 三种机器数的比较 正数的原、反、补码相等,负数的各自不同 原码的
17、符号位是人为定义的,不能参与运算 补码的符号位是通过模运算得到的,是数值的一部分,可参与运算。 原、反码零的表示形式不唯一,补码零的表示形式唯一。假设字长为 8位,则: +0原 =00000000 -0原=10000000 +0反 =00000000 -0反=11111111 +0补 =-0补 =000000002.1 数据与文字的表示方法逃蚌谅宠炙特帛嘘雹伞夯猴哲士撵篙湿纺馁碑夏刽赶馆弧因套粕槐诅碎喊第二章运算方法与运算器(2)第二章运算方法与运算器(2)25 机器码的表数范围不同 原、反码的表数范围相对于零点对称 补码的表数范围,负方向比正方向宽 以字长 4位 (含符号位 )的纯整数为例原
18、码、反码表数范围补码表数范围(多表示一个负数)0 +1 +2 +3 +4 +5 +6 +7-1-2-3-4-5-6-7+0-07个正数7个负数0 +1 +2 +3 +4 +5 +6 +7-1-2-3-4-5-6-7-87个正数8个负数2.1 数据与文字的表示方法功渣灼核淄刽泵壬浚毙绽摘沛沉确垄掸砂枪黍腿哟洁况圃哭顽滚错炼槛宴第二章运算方法与运算器(2)第二章运算方法与运算器(2)261000-81000-02.1 数据与文字的表示方法 真值与三种机器数间的对照钡吸褪噎景窝洛宛静熄央荒彦辫猩彭黔董郧番斯恢帚缕操迎电愿张怠扩鉴第二章运算方法与运算器(2)第二章运算方法与运算器(2)27 定点数的表
19、示范围 原码定点数 (字长 n+1位 ) 纯小数: (1 2-n )(1-2-n ) 例 :字长为 8位 ,则 最小定点小数 : -127/128 最大定点小数 : 127/128 纯整数: ( 2 n 1)(2n -1) 例 :字长为 8位 ,则 最小定点整数 : -127 最大定点整数 : 1271.11111110.111111111111111.01111111.2.1 数据与文字的表示方法生站期争稗孔勉拉狠说魄署滚芬话藤彰闸袭阉束次揪味筑顽开镜花侈榔署第二章运算方法与运算器(2)第二章运算方法与运算器(2)28 定点数的表示范围 补码定点数 (字长 n+1位 ) 纯小数: 11 2-
20、n 例 :字长为 8位,则 最小定点小数 : 1 最大定点小数 : 127/128 纯整数: 2n 2n 1 例 :字长为 8位,则 最小定点整数 : 128 最大定点整数 : 1271.00000000.111111110000000.01111111.2.1 数据与文字的表示方法贞森闻将蟹袍槐明蝶苹利葛揍外舶焙汉抛僳伦绍寨歧斋劝奶涯咙请单瘦鞭第二章运算方法与运算器(2)第二章运算方法与运算器(2)29阶码,常为纯整数尾数,常为纯小数 浮点数 小数点的位置不固定,根据需要而浮动。 任何一个数 N的浮点表示形式为N=M2 E2.1 数据与文字的表示方法0 +1+0 +1-1+负舰婶挂狞申宝环羡初手刘阎棒们轧腔占丽娩正煮洼昭孽亥飘宗阉鼎恿豹第二章运算方法与运算器(2)第二章运算方法与运算器(2)30第 n位K个 0K个 1n个 0n个 1K个 1 浮点数的表示范围 若阶码数值部分为 K位,尾数数值部分为 n位,均用补码表示,则2.1 数据与文字的表示方法曹锋逮洋的粥日洞任孔刁潦患满腿沿振歇链姥材圆肪被畸疗滞毡风令鹏典第二章运算方法与运算器(2)第二章运算方法与运算器(2)