版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章 运算方法和运算器 2021年6月16日星期三2 目录目录 2.0 数据的类型数据的类型 2.1 数据与文字的表示方法数据与文字的表示方法 (掌握)(掌握) 2.2 定点加法、减法运算定点加法、减法运算 (掌握)(掌握) 2.3 定点乘法运算定点乘法运算 (掌握)(掌握) 2.4 定点除法运算定点除法运算 (掌握)(掌握) 2.5 定点运算器的组成定点运算器的组成 (了解)(了解) 2.6 浮点运算方法和浮点运算器(理解)浮点运算方法和浮点运算器(理解) 2021年6月16日星期三3 学习要求学习要求 l掌握定点和浮点数的表示方法,表示范围;掌握定点和浮点数的表示方法,表示范围; l掌握
2、定点数的补码加减法、常用的乘除法运算方法;掌握定点数的补码加减法、常用的乘除法运算方法; l掌握浮点数的加减运算方法;掌握浮点数的加减运算方法; l掌握数据校验的方法;掌握数据校验的方法; l理解溢出判断方法;理解溢出判断方法; l清楚运算器部件的组成结构及设计方法。清楚运算器部件的组成结构及设计方法。 2021年6月16日星期三4 2.0 数据的类型(数据的类型(1/2) l按数制分:按数制分: 十进制:在微机中直接运算困难;十进制:在微机中直接运算困难; 二进制:占存储空间少,硬件上易于实现,易于运算;二进制:占存储空间少,硬件上易于实现,易于运算; 十六进制:方便观察和使用;十六进制:方
3、便观察和使用; 二二-十进制:十进制:4位二进制数表示位二进制数表示1位十进制数,转换简单。位十进制数,转换简单。 l按数据格式分:按数据格式分: 真值:没有经过编码的直观数据表示方式,其值可带正负号真值:没有经过编码的直观数据表示方式,其值可带正负号 (+、-),任何数制均可;,任何数制均可; 机器数:符号数字化后的数值机器数:符号数字化后的数值(包括正负号的表示包括正负号的表示),一般位数,一般位数 固定固定(8、16、32),不能随便忽略任何位置上的,不能随便忽略任何位置上的0或或1; 2021年6月16日星期三5 2.0 数据的类型(数据的类型(2/2) l按数据的表示范围分:按数据的
4、表示范围分: 定点数:小数点位置固定,数据表示范围小;定点数:小数点位置固定,数据表示范围小; 浮点数:小数点位置不固定,数据表示范围较大。浮点数:小数点位置不固定,数据表示范围较大。 l按能否表示负数分:按能否表示负数分: 无符号数:所有均为表示数值,直接用二进制数表示;无符号数:所有均为表示数值,直接用二进制数表示; 有符号数:有正负之分,最高位为符号位,其余位表有符号数:有正负之分,最高位为符号位,其余位表 示数值。示数值。 u按编码不同又可分为原码、反码、补码、移码按编码不同又可分为原码、反码、补码、移码 2021年6月16日星期三6 2.1 数据与文字的表示方法数据与文字的表示方法
5、l2.1.1 数据格式数据格式 l2.1.2 数的机器码表示数的机器码表示 l2.1.3 字符与字符串的表示方法字符与字符串的表示方法 l2.1.4 汉字的表示方法汉字的表示方法 l2.1.5 校验码校验码 2021年6月16日星期三7 2.1.1 数据格式数据格式 计算机在数的表示方式时,应该考虑一下几个因素计算机在数的表示方式时,应该考虑一下几个因素: l 表示的数据类型(符号、小数点、数值)表示的数据类型(符号、小数点、数值) l 数值的范围数值的范围 l 数值精度数值精度 l 存储、处理、传送的硬件代价存储、处理、传送的硬件代价 计算机常用的数据表示格式有两种:计算机常用的数据表示格式
6、有两种: l 定点表示:小数点位置固定定点表示:小数点位置固定 l 浮点表示:小数点位置不固定浮点表示:小数点位置不固定 2021年6月16日星期三8 2.1.1数据格式数据格式定点数定点数 一、定点表示法一、定点表示法 所有数据的小数点位置固定不变所有数据的小数点位置固定不变 u由于定点数在约定机器中所有的小数点位置是由于定点数在约定机器中所有的小数点位置是固定不变固定不变的,所以小的,所以小 数点数点“.”在数据表示中省略在数据表示中省略了。了。 理论上小数点位置可以任意,但实际上将数据表示有两种理论上小数点位置可以任意,但实际上将数据表示有两种 方法(小数点位置固定方法(小数点位置固定-
7、定点表示法定点表示法/定点格式):定点格式): u纯小数纯小数 u纯整数纯整数 定点数表示:定点数表示: u带符号数带符号数 u不带符号数不带符号数 2021年6月16日星期三9 2.1.1数据格式数据格式定点数定点数 l假设用假设用n+1位字来表示一个定点数位字来表示一个定点数x, 对于任意定点数对于任意定点数x= xn xn-1 xn-2 x2 x1 x0 , ,在定点机中如在定点机中如 下图表示:下图表示: xnxn-1 xn-2 x2 x1 x0 符号位符号位数值数值 位位 2021年6月16日星期三10 l定点数:小数点固定在某一位置的数据;定点数:小数点固定在某一位置的数据; 纯小
8、数:纯小数: u表示形式表示形式 (原码表示)(原码表示) 有符号数有符号数 x=xnxn-1xn-2x1 x0 |x|1-2-n ;xn为符号位为符号位 无符号数无符号数 x=xnxn-1xn-2x1 x0 0 x 1-2-n ; xn为符号位即为符号位即xn=0 u数据表示范围数据表示范围 0.00= 0 |x| 1-2-n = 0.11 纯整数:纯整数: u表示形式表示形式 有符号数有符号数 x=x n x n-1 x 1 x 0 |x|2n-1 ; xn为符号位为符号位 无符号数无符号数 x=x n x n-1 x 1 x 0 0 x2n+1-1 ; xn为数值位为数值位 l注意:小数
9、点的位置是机器约定好的,并没有实际的保存。注意:小数点的位置是机器约定好的,并没有实际的保存。 xn xn-1xn-2xn-3 x1 x0 xnxn-1xn-2x1x0 2.1.1 数据格式数据格式定点数定点数 设采用设采用n+1位数据位数据 2021年6月16日星期三11 l定点数:最值情况定点数:最值情况 纯小数:纯小数: (原码表示时最值情况)(原码表示时最值情况) u表示形式表示形式 u最大正数最大正数 u最大正数值为:最大正数值为:1-2-n, u最小正数最小正数 u最小正数的值为:最小正数的值为:2-n 2.1.1 数据格式数据格式定点数定点数 设采用设采用n+1位数据位数据 20
10、2-12-22-32-(n-1)2-n 202-12-22-32-(n-1)2-n 0 1 1 1 1 1 0 0 0 0 0 1 0 1 1 1 1 1 2021年6月16日星期三12 l定点数:最值情况定点数:最值情况 纯小数:纯小数: (原码表示时最值情况)(原码表示时最值情况) u表示形式表示形式 u绝对值最大负数绝对值最大负数 u绝对值最大负数值为:绝对值最大负数值为:-(1-2-n) 2.1.1 数据格式数据格式定点数定点数 设采用设采用n+1位数据位数据 202-12-22-32-(n-1)2-n 1 1 1 1 1 1 2021年6月16日星期三13 l定点数:最值情况定点数:
11、最值情况 纯小数:纯小数: (补码表示时最值情况)(补码表示时最值情况) u表示形式表示形式 u绝对值最大负数绝对值最大负数 u绝对值最大负数值为:绝对值最大负数值为:-1 2.1.1 数据格式数据格式定点数定点数 设采用设采用n+1位数据位数据 202-12-22-32-(n-1)2-n 1 0 0 0 0 0 2021年6月16日星期三14 l定点数:最值情况定点数:最值情况 纯整数:纯整数: u原码表示的绝对值最大负数原码表示的绝对值最大负数 原码表示的绝对值最大负数值为:-(2n-1) u补码表示的绝对值最大的负数补码表示的绝对值最大的负数 补码表示的绝对值最大的负数值为:-2n 2.
12、1.1 数据格式数据格式定点数定点数 设采用设采用n+1位数据位数据 2n2n-12n-22n-32120 1 1 1 1 1 1 1 0 0 0 0 0 2n2n-12n-22n-32120 2021年6月16日星期三15 2.1.1数据格式数据格式 4、定点表示法的特点、定点表示法的特点 定点数表示数的范围受字长限制,表示数的范围有限定点数表示数的范围受字长限制,表示数的范围有限; 定点表示的精度有限定点表示的精度有限 机器中,常用定点纯整数表示机器中,常用定点纯整数表示; 如果用定点表示,则如何表示实数(包括小数和整数如果用定点表示,则如何表示实数(包括小数和整数 )呢?)呢? -引入浮
13、点引入浮点 2021年6月16日星期三16 科学计数法的表示科学计数法的表示 l一个十进制数可以表示成不同的形式:一个十进制数可以表示成不同的形式: l同理,一个二进制数也可以有多种表示:同理,一个二进制数也可以有多种表示: 33 10 ()123.456123456 100.123456 10N 100100 2 ()1101.001111010011 20.1101.0011 2N 2021年6月16日星期三17 2.1.1 数据格式数据格式浮点数浮点数 l浮点数:小数点位置可变,形如科学计数法中的数据表示。浮点数:小数点位置可变,形如科学计数法中的数据表示。 l浮点数格式定义:浮点数格式
14、定义: N= Re M M:尾数:尾数(mantissa) ,是一个,是一个纯小数纯小数,表示数据的全部有效,表示数据的全部有效 数位,决定着数值的精度;数位,决定着数值的精度; R:基数:基数(radix) ,可以取,可以取2、8、10、16,表示当前的数制;,表示当前的数制; u微机中,一般默认为微机中,一般默认为2,隐含表示。,隐含表示。 e: 阶码阶码(exponent) ,是一个,是一个整数整数,用于指出小数点在该数,用于指出小数点在该数 中的位置,中的位置,决定着数据数值的大小决定着数据数值的大小。 l机器数的一般表示形式(机器数的一般表示形式(为了方便浮点数比较大小,一般采用第二
15、种方法为了方便浮点数比较大小,一般采用第二种方法) 阶符阶符阶码阶码数符数符尾数尾数 数符数符阶符阶符阶码阶码尾数尾数 2021年6月16日星期三18 浮点数的规格化浮点数的规格化 l浮点数的一般表示浮点数的一般表示 同一个浮点数的表示是不唯一的。如同一个浮点数的表示是不唯一的。如0.1101可表示为可表示为 0.0110121 ,也可表示为,也可表示为1.1012-1 。 机器数的表示不同,不利于运算机器数的表示不同,不利于运算 l规格化的目的规格化的目的 保证浮点数表示的唯一性;保证浮点数表示的唯一性; 为了提高数据的精度为了提高数据的精度 2021年6月16日星期三19 浮点数的规格化浮
16、点数的规格化 l规格化要求规格化要求 按国际电子电气工程师协会规定的标准,浮点数的尾数要用原按国际电子电气工程师协会规定的标准,浮点数的尾数要用原 码表示,即符号位码表示,即符号位 Ms: 0 表示正,表示正,1 表示负表示负 当尾数的值不为当尾数的值不为0时,规定其绝对值应时,规定其绝对值应 0.5,也就是最高位为,也就是最高位为 1 u否则要修改阶码同时移动小数点的位置,使其满足这一要求,这个过程否则要修改阶码同时移动小数点的位置,使其满足这一要求,这个过程 称为浮点数的称为浮点数的规格化规格化。 l规格化处理:规格化处理: 尾数向左移尾数向左移n位位(小数点右移小数点右移),同时阶码减,
17、同时阶码减n; 尾数向右移尾数向右移n位位(小数点左移小数点左移),同时阶码加,同时阶码加n。 2021年6月16日星期三20 l规格化浮点数实际运算时规格化浮点数实际运算时 既然非既然非 0 值浮点数的尾数数值最高位必定为值浮点数的尾数数值最高位必定为 1,则在保存浮,则在保存浮 点数到内存前,通过尾数右移点数到内存前,通过尾数右移, 强行把该位去掉强行把该位去掉, 用同样多的用同样多的 尾数位就能多存一位二进制数,有利于提高数据表示精度,尾数位就能多存一位二进制数,有利于提高数据表示精度, 称这种处理方案使用了隐藏位技术。当然,在取回这样的浮称这种处理方案使用了隐藏位技术。当然,在取回这样
18、的浮 点数到运算器执行运算时,必须先恢复该隐藏位。点数到运算器执行运算时,必须先恢复该隐藏位。 浮点数的规格化浮点数的规格化 2021年6月16日星期三21 浮点数的规格化浮点数的规格化 l尾数用尾数用原码原码表示时表示时 尾数最高数值位为尾数最高数值位为1; 尾数形如尾数形如0.1(正);或(正);或1.1(负);(负); 例如,例如,0.01125要规格化则变为要规格化则变为0.1124; 0.01125要规格化则变为要规格化则变为1.1124; l尾数用尾数用补码补码表示时表示时 尾数最高数值位和尾数符号位相反;尾数最高数值位和尾数符号位相反; 尾数形如尾数形如0.1(正);或(正);或
19、1.0(负)(负) 例如,例如,0.01125要规格化,则变为要规格化,则变为0.1124; 0.01125要规格化,则变为要规格化,则变为1.0124; 2021年6月16日星期三22 阶码阶码E E的移码表示法的移码表示法 l移码通常用来表示浮点数的阶码,由真值加一个固定的常移码通常用来表示浮点数的阶码,由真值加一个固定的常 数生成,这个固定的常数称为偏移量。数生成,这个固定的常数称为偏移量。 设定点整数移码的形式为设定点整数移码的形式为x xm mx x2 2x x1 1 x x0 0,则移码定义为:,则移码定义为: xx移 移=2 =2m m+x -2+x -2m mxx2 2m m
20、x x移 移是机器数, 是机器数,x x是真值,是真值,2 2m m是一个固定的偏移量,它是一个固定的偏移量,它 也是也是x xm m的位权,移码共有的位权,移码共有m+1m+1位。位。 例、某浮点数阶码例、某浮点数阶码8 8位,含一位符号位,移码表示。当阶位,含一位符号位,移码表示。当阶 码码x = -0111 1111x = -0111 1111,则:,则: xx移 移 = 2 = 27 7 - 0111 1111 = 0000 0001 - 0111 1111 = 0000 0001 2021年6月16日星期三23 浮点数的表示范围浮点数的表示范围 l在浮点数的表示范围中,有两种情况被称
21、为机器零:在浮点数的表示范围中,有两种情况被称为机器零: (1)若浮点数的尾数为零,无论阶码为何值;)若浮点数的尾数为零,无论阶码为何值; (2)当阶码的值遇到比它能表示的最小值还要小时()当阶码的值遇到比它能表示的最小值还要小时( 阶码负溢出),无论其尾数为何值阶码负溢出),无论其尾数为何值 负数区正数区 0最大负数最小正数最小数最大数 上溢上溢 下溢 机器零机器零 机器零:浮点数的尾数为零或阶码为最小数 2021年6月16日星期三24 浮点数的浮点数的IEEE754标准表示标准表示 l为便于软件移植,按照为便于软件移植,按照 IEEE754 标准,实际机器内标准,实际机器内32位浮点位浮点
22、 数和数和64位浮点数的标准格式如下:位浮点数的标准格式如下: SEM 022233031 2323位尾数,仅为数值部分位尾数,仅为数值部分8 8位阶码,包括阶符位阶码,包括阶符1 1位数符位数符 3232位浮点数位浮点数 SEM 051526263 5252位尾数,仅为数值部分位尾数,仅为数值部分1111位阶码,包括阶符位阶码,包括阶符1 1位数符位数符 6464位浮点数位浮点数 2021年6月16日星期三25 32位浮点数的位浮点数的IEEE754 标准表示标准表示(采用下面的表示方法)(采用下面的表示方法) l数符数符S:表示浮点数的符号,占表示浮点数的符号,占1 1位,位,0 0正数、
23、正数、1 1负数;负数; l尾数尾数M:2323位,原码纯小数表示,小数点在尾数域的最前面;位,原码纯小数表示,小数点在尾数域的最前面; 由于原码表示的规格化浮点数要求,由于原码表示的规格化浮点数要求,最高数值位始终为最高数值位始终为1,因此该标准中,因此该标准中 隐藏最高数值位隐藏最高数值位(即数值即数值1),标准浮点数的存储在尾数中隐含存储着一个,标准浮点数的存储在尾数中隐含存储着一个1, 因此在计算尾数的真值时比一般形式要多一个整数因此在计算尾数的真值时比一般形式要多一个整数1。尾数的实际值为。尾数的实际值为1.M; l阶码阶码E:8 8 位,采用有偏移值的移码表示;位,采用有偏移值的移
24、码表示; 移移127码,即码,即E=e+127,E的的8位二进制数即为移位二进制数即为移127码的编码;码的编码; l浮点数的真值:浮点数的真值:N=(-1)S(1.M)2E-127 数符数符S阶码阶码E尾数尾数M 2021年6月16日星期三26 IEEE浮点数标准754 规定对长、短浮点数的尾数使用隐藏位技术,即把非 0 值的尾数的最高 位上的 1 经过左移操作后强行去掉,则原来不能表示的更低一位就进到最低 一位,使 23 位的尾数数值位就能给出 24 位的精度,此时还应把阶码位相应 的减 1,变原来的移 128 为移 127。 正常的阶码值范围:01hFEh,表示 -126+127 特定的
25、阶码: 00h,23位的非 0 尾数表示非规格化浮点数(隐藏位此时一定为0); FFh, 尾数为全 0 时表示无穷大的浮点数,可正可负,由符号位决定。尾数 非全 0 时属于非法数值 2021年6月16日星期三27 IEEE754 标准格式标准格式 (64位格式)位格式) 其真值表示为:其真值表示为: x=(1)S(1.M)2E 1023 e E1023 2021年6月16日星期三28 浮点数的表示范围浮点数的表示范围 0最大最大 负数负数 最小最小 正数正数 最小最小 负数负数 最大最大 正数正数 下溢区下溢区上溢区上溢区上溢区上溢区负数区负数区正数区正数区 尾数尾数负的最小值负的最小值负的最
26、大值负的最大值 正的最小值正的最小值 正的最大值正的最大值 阶码阶码正的最大值正的最大值负的最小值负的最小值 负的最小值负的最小值 正的最大值正的最大值 l浮点数的溢出:阶码溢出浮点数的溢出:阶码溢出 上溢:阶码大于所能表示的最大值;上溢:阶码大于所能表示的最大值; 下溢:阶码小于所能表示的最小值;下溢:阶码小于所能表示的最小值; l机器零:机器零: 尾数为尾数为 0,或阶码小于所能表示的最小值;,或阶码小于所能表示的最小值; 2021年6月16日星期三29 2.1.3数的定点表示与浮点表示数的定点表示与浮点表示 一、浮点表示法一、浮点表示法我们在看一看下面的表:我们在看一看下面的表: X移
27、移=2m+X 真值真值原码原码反码反码补码补码移码移码 -128 1000000000000000 -12711111111100000001000000100000001 . -110000001111111101111111101111111 -010000000111111110000000010000000 +000000000000000000000000010000000 +100000001000000010000000110000001 . +12701111111011111110111111111111111 2021年6月16日星期三30 浮点数的最值浮点数的最值 非规格
28、化数据非规格化数据规格化数据规格化数据 真值真值阶码阶码(移码)(移码) 尾数尾数机器数机器数真值真值 最小最小 负数负数 最大最大 负数负数 最小最小 正数正数 最大最大 正数正数 设浮点数格式为设浮点数格式为 1位阶符位阶符m位阶码位阶码1位数符位数符n位尾数位尾数 移码表示移码表示-2m,+(2m-1) 补码表示补码表示-1,+(1-2-n) -12+( 2m-1 ) -2-n2-2m +2-n2-2m +(1-2-n)2+(2m-1) 1 111;1 0000 0 000;1 1111 0 000;0 0001 1 111;0 1111 同左同左同左同左 0 000;1 0111 -(
29、2-1+2-n)2-2m +2-12-2m 同左同左同左同左 0 000;0 1000 2021年6月16日星期三31 IEEE754 标准的数据表示标准的数据表示 lIEEE754 标准中的阶码标准中的阶码E 正零、负零正零、负零 uE与与M均为零,正负之分由数据符号确定;均为零,正负之分由数据符号确定; 正无穷、负无穷正无穷、负无穷 uE为全为全1,M为全零,正负之分由数据符号确定;为全零,正负之分由数据符号确定; 阶码阶码E的其余值(的其余值(0000 00011111 1110)为规格化数据;)为规格化数据; u真正的指数真正的指数e的范围为的范围为-126+127 l为避免浮点数下溢
30、,允许采用为避免浮点数下溢,允许采用比最小规格化数还小的非规格化比最小规格化数还小的非规格化 数数来表示,但此时尾数来表示,但此时尾数M前的隐含位为前的隐含位为0,而不是,而不是1。 E=0000 0000,M=0000 0000 E=1111 1111,M=0000 0000 0000 0000 1111 1111 E(移码)=全0,对应真值-128 M(补码)=全0,对应真值0 E=M=全0,真值X=0-128=0 当E=全1,M=全0 E(移码)=全1,对应真值+127 M(补码)=全0,对应真值0 E=全1,M=全0,真值X=0127= 结合符号位S 为0或1分+和- 2021年6月1
31、6日星期三32 IEEE754 标准对特殊数据的表示标准对特殊数据的表示 符号位符号位S阶码阶码E尾数尾数M数值数值N 0/10=00 0/100 非规格化(非规格化(-1)S(0.M) 2-126 0/112540(-1)S(1.M)2E-127 0/12550NaN(非数值)(非数值) 0/1255=0(-1)S(无穷大无穷大) 阶码的值在1254,移码则在,移码则在-126127 2021年6月16日星期三33 0 1 1 0 1 1 1 5 1 9 【例例1】设浮点数的阶码设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数 为为10位(含符号位),阶码采用补码表示,尾数位(含符号
32、位),阶码采用补码表示,尾数 采用原码表示,分析其浮点数表示范围。采用原码表示,分析其浮点数表示范围。 l最大正数最大正数 最大正数为最大正数为0.11120111 即(即(12 9) )231 该浮点数即为该浮点数即为规格化规格化数形式;数形式; 2021年6月16日星期三34 【例例1】设浮点数的阶码设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数 为为10位(含符号位),阶码采用补码表示,尾数位(含符号位),阶码采用补码表示,尾数 采用原码表示,分析其浮点数表示范围。采用原码表示,分析其浮点数表示范围。 l 最小正数最小正数 非规格化数形式非规格化数形式 u最小正数为最小正数为0
33、.0012100 u即即2 9 2( (25)= 29 2-32 规格化数形式规格化数形式 u最小正数为最小正数为0.12100 2 1 2( (25) 2 33 1 0 0 0 1 00 1 5 1 9 1 0 0 0 0 01 1 5 1 9 2021年6月16日星期三35 【例例1】设浮点数的阶码设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数 为为10位(含符号位),阶码采用补码表示,尾数位(含符号位),阶码采用补码表示,尾数 采用原码表示,分析其浮点数表示范围。采用原码表示,分析其浮点数表示范围。 l最小负数最小负数 最小负数为最小负数为0.112011 即(即(12 9)
34、)2( (251)= ( (12 9) ) 231 该浮点数即为该浮点数即为规格化规格化数形式;数形式; 0 1 1 1 1 1 1 m 1 n 2021年6月16日星期三36 【例例1】设浮点数的阶码设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数 为为10位(含符号位),阶码采用补码表示,尾数位(含符号位),阶码采用补码表示,尾数 采用原码表示,分析其浮点数表示范围。采用原码表示,分析其浮点数表示范围。 l 最大负数最大负数 非规格化数形式非规格化数形式 u最大负数为最大负数为0.0012100 u即即 2 9 2( (25)= 2 9 2-32 规格化数形式规格化数形式 u最大负
35、数为最大负数为0. 12100 即即 2 1 2( (25)= 2-1 2 32 1 0 0 1 1 00 1 m 1 n 1 0 0 1 0 01 1 m 1 n 2021年6月16日星期三37 【例例2】设浮点数的阶码设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数 为为10位(含符号位),阶码和尾数均采用补码表位(含符号位),阶码和尾数均采用补码表 示,分析其规格化浮点数表示范围。示,分析其规格化浮点数表示范围。 l 最大正数最大正数 阶码最大、尾数最大阶码最大、尾数最大 最大正数为最大正数为0.1112111 (12 9) )231 l 最小正数最小正数 最小正数为最小正数为0
36、.10002 32 即即2-322 1 2-33 注意:注意:不是不是 u因为因为0.01 2-32不是规格化数。不是规格化数。 0 1 1 0 1 1 1 5 1 9 1 0 0 0 10 00 1 5 1 9 1 0 0 0 0 01 1 5 1 9 2021年6月16日星期三38 【例例2】设浮点数的阶码设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数 为为10位(含符号位),阶码和尾数均采用补码表位(含符号位),阶码和尾数均采用补码表 示,分析其规格化浮点数表示范围。示,分析其规格化浮点数表示范围。 l 最小的负数最小的负数 最小负数为最小负数为1.000231 即即231(1
37、)= 231 l 最大的负数最大的负数 最大负数为最大负数为0.10012 32 即(即( 2 9+ 21 ) )2 32 注意:因有规格化要求,不是注意:因有规格化要求,不是 0 1 1 1 0 0 1 5 1 9 1 0 0 1 0 1 1 1 5 1 9 1 0 0 1 1 1 1 1 5 1 9 2021年6月16日星期三39 课本课本P18 例例1 l例例1 若浮点数的若浮点数的754标准存储格式为标准存储格式为(41360000)16,求其浮,求其浮 点数的十进制数值。点数的十进制数值。 l解:解: (41360000)16 = 0100 0001 0011 0110 0000 0
38、000 0000 0000 指数指数e=E-127= 1000 0010 0111 1111=0000 0011=3 尾数尾数1.M=1.011 0110 0000 0000 0000 0000=1.011011 浮点数浮点数 N =(-1)S(1.M)2e = (-1)0(1. 011011)23 = (11.375)10 数符数符S阶码阶码E尾数尾数M 2021年6月16日星期三40 课本课本P18 例例2 l例例2 将将(20.59375)10转换成转换成754标准的标准的32位浮点数的二进制存位浮点数的二进制存 储格式。储格式。 l解:解: (20.59375)10(10100.100
39、11)2 将尾数规范为将尾数规范为1.M的形式:的形式: 10100.100111.01001001124 e 4 可得:可得:M 010010011 S 0 E 41271311000 0011 故,故,32位浮点数的位浮点数的754标准格式为:标准格式为: 0100 0001 1010 0100 1100 0000 0000 0000(41A4C000)16 2021年6月16日星期三41 单精度浮点数与双精度浮点数单精度浮点数与双精度浮点数 l高级语言的高级语言的float、double使用的即是使用的即是IEEE754规定的格式。规定的格式。 lfloat :32位浮点值,也叫单精度浮
40、点数(位浮点值,也叫单精度浮点数(4字节保存)字节保存) ldouble:64位浮点值,也叫双精度浮点数(位浮点值,也叫双精度浮点数(8字节保存)字节保存) l单精度浮点数的例子:单精度浮点数的例子: 1位位 8位位 7位位 8位位 8位位 -1100 0.01 2021年6月16日星期三42 求解技巧求解技巧 l例如:将下列十进制数表示成例如:将下列十进制数表示成IEEE754格式的格式的32位浮点数二进位浮点数二进 制存储形式。制存储形式。 27/32 11/512 l求解:求解: 27/32=27*(1/32) = (0001 1011) *2-5=1.1011*2-1 u尾数:尾数:1
41、.1011;阶码:阶码:e=-5+4=-1 ,E=e+127=126 uIEEE754数据:数据:0 0111 1110 1011 0000 0000 0000 0000 000 11/512= (0000 1011) =1.011*2-6 u尾数:尾数:1.011;阶码:阶码:e=-9+3=-6 ,E=e+127=121 uIEEE754数据:数据:0 0111 1001 0110 0000 0000 0000 0000 00 2021年6月16日星期三43 例:将十进制数例:将十进制数-54表示成表示成二进制定点数二进制定点数(16位位)和和浮点数浮点数 (16位,其中数值部分位,其中数值
42、部分10位,阶码部分位,阶码部分4位,阶符和数符各位,阶符和数符各 取取1位位),并写出它在定点机和浮点机中的机器数形式。,并写出它在定点机和浮点机中的机器数形式。 l令令 x = -54,则,则x = -110110 l16位定点数真值表示:位定点数真值表示: x = -000 0000 0011 0110 定点机器数形式定点机器数形式 x原 原: : x补 补: : l浮点数规格化表示:浮点数规格化表示:x = -(0.1101100000)2110 浮点机器数形式浮点机器数形式 x原 原: : x补 补: : 非非IEEE754 标准标准 1 000 0000 0011 0110 1 1
43、11 1111 1100 1010 0 0110 ; 1 11 0110 0000 0 0110 ; 1 00 1010 0000 2021年6月16日星期三44 浙江大学考研试题浙江大学考研试题 计算机储存程序的特点之一是把数据和指令都作为二进制信号计算机储存程序的特点之一是把数据和指令都作为二进制信号 看待。今有一计算机字长看待。今有一计算机字长32bit,数符位是第,数符位是第31bit;单精度浮;单精度浮 点数格式如图所示。点数格式如图所示。 对于二进制数对于二进制数1000 1111 1110 1111 1100 0000 0000 0000 表示一个补码整数,其十进制值是多少?表示
44、一个补码整数,其十进制值是多少? 表示一个无符号整数,其十进制值是多少?表示一个无符号整数,其十进制值是多少? 表示一个表示一个IEEE754标准的单精度浮点数,其值是多少?标准的单精度浮点数,其值是多少? 8位位23位位1 31 30 23 22 0 2021年6月16日星期三45 二进制数二进制数1000 1111 1110 1111 1100 0000 0000 0000 l 表示一个补码整数,其十进制值是多少?表示一个补码整数,其十进制值是多少? n作为补码整数,其对应的原码是作为补码整数,其对应的原码是 1111 0000 0001 0000 0100 0000 0000 0000
45、n十进制值是十进制值是 -(230+ 229 +228 + 220 + 214 ) l 表示一个无符号整数,其十进制值是多少?表示一个无符号整数,其十进制值是多少? n作为无符号整数,其十进制值是作为无符号整数,其十进制值是 231+ 227+ 226 +225 + 224 + 223+ 222 +221 + 219 +218 + 217 +216 + 215 +214 2021年6月16日星期三46 二进制数二进制数1000 1111 1110 1111 1100 0000 0000 0000 l 作为作为IEEE754标准的单精度浮点数标准的单精度浮点数 n阶码阶码E是是0001 1111
46、 n指数指数e阶码阶码E1270001 11110111 1111 -1100000B-96D n尾数尾数M=110 1111 1100 0000 0000 0000 n则则1.M =1. 110 1111 1100 0000 0000 0000 =1.110 1111 11 单精度浮点数值为:单精度浮点数值为: X (-1)s1.M2e-(1.110 1111 11)2-96 -(0.1110 1111 11)2-95 -(1416-11516-21216-3)2-95 -0.31152-95 2021年6月16日星期三47 2.1.2 数的机器码表示数的机器码表示 l重点:重点: 1、原码
47、、补码、移码的表示形式、原码、补码、移码的表示形式 2、补码的定义、补码的定义 3、原码、补码、移码的表示范围、原码、补码、移码的表示范围 2021年6月16日星期三48 1、原码表示法、原码表示法定义定义 l定义:定义: 定点小数:定点小数:x原 原 定点整数:定点整数:x原 原 l举例:举例: +0.110 原 原 0.110 -0.110原 原 1 - (-0.110) = 1.110 +110原 原 0110 -110原 原 23- (-110) 1000 +110 = 1110 x1 x 0 1- x=1+|x| 0 x -1 x2n x 0 2n- x=2n+|x| 0 x -2n
48、 实际机器中保存时实际机器中保存时 并不保存小数点并不保存小数点 2021年6月16日星期三49 1、原码表示法、原码表示法特点特点 l0有两种表示法有两种表示法 +0原 原 = 0000 ; -0原原 = 1000 l数据表示范围数据表示范围 定点小数:定点小数:-1X1 定点整数定点整数: -2nX2n (若数值位(若数值位n=3即:即:-8X x 0 2+x = 2 - |x| 0 x -1 x 2n x 0 2n+1+x = 2n+1-|x| 0 x -2n x为为n+1位位 (mod 2) (mod 2n+1) 实际机器中保存时实际机器中保存时 并不保存小数点并不保存小数点 2021
49、年6月16日星期三55 2、补码表示法、补码表示法特点特点 l0有唯一的表示法有唯一的表示法 -0补 补 24+(-0 ) mod 24 0000 +0补 补 l数据表示范围数据表示范围 定点小数:定点小数:-1X1 定点整数定点整数: -2nX2n (若(若n=3,则,则-8X8) l加减运算规则加减运算规则 XY补 补 X补 补 Y补 补 (mod 2) 只要结果不溢出,可将补码符号位与数值位一起参与运算。只要结果不溢出,可将补码符号位与数值位一起参与运算。 lx补 补补补 x原 原 l补码除补码除2操作,可通过操作,可通过算术右移算术右移实现实现 -0.0110补 补 11010,则,则
50、(-0.0110)/10补 补 = 11101,真值为 ,真值为-0.0011 比原码多一比原码多一 个负的最小个负的最小 值表示,其值表示,其 编码为编码为10001000 2021年6月16日星期三56 由原码求补码由原码求补码 l由原码求补码的简便原则由原码求补码的简便原则(负数负数) 除符号位以外除符号位以外, ,其余各位按位取反,末位加其余各位按位取反,末位加1 1; 从最低位开始,遇到的第一个从最低位开始,遇到的第一个1 1以前的各位保以前的各位保 持不变,之后各位取反。持不变,之后各位取反。 例:例:X原 原= 1 1 0 1 1 0 1 0 0 X补 补= 1 0 1 0 0
51、11 0 0 2021年6月16日星期三57 l由由X补 补求 求-X补 补 连符号位一起各位求反,末位加连符号位一起各位求反,末位加1。 l例:例:X补 补=1.1010101 l解解: 由由-X补 补 求求X补 补, , 此规则同此规则同 样适用样适用。 求相反数的补码求相反数的补码 X补 补= 1 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 + 1 -X补 补= 0 0 1 0 1 0 1 1 2021年6月16日星期三58 3、移码表示法、移码表示法 l移码通常用于表示浮点数的阶码移码通常用于表示浮点数的阶码 用定点整数形式的移码用定点整数形式的移码 l定义:定义: x
52、移 移=2n+x -2n x 2n l与与x补 补的区别: 的区别:符号位相反符号位相反 l优点:优点: 可以比较直观地判断两个数据的大小;可以比较直观地判断两个数据的大小; u浮点数运算时,容易进行对阶操作;浮点数运算时,容易进行对阶操作; 表示浮点数阶码时,容易判断是否下溢;表示浮点数阶码时,容易判断是否下溢; u当阶码为全当阶码为全0时,浮点数下溢。时,浮点数下溢。 真值真值补码补码移码移码 -810000000 -710010001 -610100010 000001000 +100011001 +701111111 4位补码与移码位补码与移码 2021年6月16日星期三59 原、补、
53、移码的编码形式原、补、移码的编码形式 l正数:正数: 原、补码的编码完全相同;原、补码的编码完全相同; 补码和移码的符号位相反,数值位相同;补码和移码的符号位相反,数值位相同; l负数:负数: 原码:原码: 符号位为符号位为1 数值部分与真值的绝对值相同数值部分与真值的绝对值相同 补码:补码: 符号位为符号位为1 数值部分与原码各位相反,且末位加数值部分与原码各位相反,且末位加1 移码:移码: 符号位与补码相反,数值位与补码相同符号位与补码相反,数值位与补码相同 2021年6月16日星期三60 课本课本P22例例6 以定点整数为例以定点整数为例,用数轴形式说明原码、反码、用数轴形式说明原码、反
54、码、 补码、移码表示范围和可能的数码组合情况。补码、移码表示范围和可能的数码组合情况。 2021年6月16日星期三612021年6月16日星期三61 课本课本P22例例7 将十进制真值将十进制真值(127,1,0,1,127)列表列表 表示成二进制数及原码、反码、补码、移码值。表示成二进制数及原码、反码、补码、移码值。 十进制真十进制真 值值 二进制真值二进制真值原码表示原码表示反码表示反码表示补码表示补码表示移码表示移码表示 -127-111 11111111 11111000 00001000 00010000 0001 -1-000 00011000 00011111 11101111
55、11110111 1111 0 +000 00000000 00000000 0000 0000 00001000 0000 -000 00001000 00001111 1111 +1+000 00010000 00010000 00010000 00011000 0001 +127+111 11110111 11110111 11110111 11111111 1111 符号位符号位 +0;- 1 数值位数值位 各位取反各位取反 数值位数值位 末位加末位加1 符号位符号位(正负数正负数) 取反取反 负数时负数时 2021年6月16日星期三62 P22例例8 设机器字长设机器字长16位,定点
56、表示,尾数位,定点表示,尾数15位,数符位,数符1位,问:位,问: (1)定点原码整数表示时,最大正数是多少?最小负数是多少?定点原码整数表示时,最大正数是多少?最小负数是多少? (2)定点原码小数表示时,最大正数是多少?最小负数是多少?定点原码小数表示时,最大正数是多少?最小负数是多少? 0111 1111 1111 1111 1111 1111 1111 1111 0111 1111 1111 1111 1111 1111 1111 1111 (215-1) = +32767 -(215-1) = -32767 (1-2-15) = +(1-1/32768) -(1-2-15) = -(1
57、-1/32768) l定点原码整数定点原码整数 最大正数最大正数 最小负数最小负数 l定点原码小数定点原码小数 最大正数最大正数 最小负数最小负数 2021年6月16日星期三63 2.1.1数据格式数据格式(3)十进制数串的表示方法十进制数串的表示方法 l字符串形式字符串形式 每个十进制每个十进制数位数位占用一个字节;占用一个字节; 除保存各数位,还需要指明该数存放的起始地址和总位数;除保存各数位,还需要指明该数存放的起始地址和总位数; 主要用于非数值计算的应用领域。主要用于非数值计算的应用领域。 l压缩的十进制数串形式压缩的十进制数串形式 采用采用BCD码表示,一个字节可存放两个十进制数位;
58、码表示,一个字节可存放两个十进制数位; 节省存储空间,便于直接完成十进制数的算术运算;节省存储空间,便于直接完成十进制数的算术运算; 用特殊的二进制编码表示数据正负,如用特殊的二进制编码表示数据正负,如1100正、正、1101负负 2021年6月16日星期三64 十进制数串的表示方法十进制数串的表示方法 字符串形式:一个字节存放一个十进制的数位或符号位。字符串形式:一个字节存放一个十进制的数位或符号位。 00000010000000110000010100001000 一个字节(一个字节(8bit8bit) 十进制数串为:十进制数串为:2358 压缩数串形式:一个字节存放两个十进制的数位。它比
59、前一种压缩数串形式:一个字节存放两个十进制的数位。它比前一种 形式节省存储空间,又便于直接完成十进制数的算术运算,是形式节省存储空间,又便于直接完成十进制数的算术运算,是 广泛采用的较为理想的方法。广泛采用的较为理想的方法。 1000001000111100 一个字节(一个字节(8bit8bit) 001101111101 一个字节(一个字节(8bit8bit) 十进制数串为:十进制数串为:823 C表示正表示正D表示负表示负 十进制数串为:十进制数串为:- -37 0000 不满一字节用不满一字节用0补齐补齐 2021年6月16日星期三65 2.1.3 字符与字符串的表示方法字符与字符串的表
60、示方法 lASCII码码(美国国家信息交换标准字符码美国国家信息交换标准字符码) 包括包括128个字符,共需个字符,共需7位编码;位编码; ASCII码规定:最高位为码规定:最高位为0,余下,余下7位作为位作为128个字符的编码。个字符的编码。 最高位的作用:奇偶校验;扩展编码。最高位的作用:奇偶校验;扩展编码。 l字符串字符串 指连续的一串字符,指连续的一串字符, 每个字节存一个字符。每个字节存一个字符。 当存储字长为当存储字长为2、或、或4个字节时,在同一个存储单元中个字节时,在同一个存储单元中; u可按从低位字节向高位字节的顺序存放字符串的内容可按从低位字节向高位字节的顺序存放字符串的内
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋租赁合同书
- 标准装修合同
- 食堂配送合同
- 耕地农田合同
- 种烟工人合同
- 信用发货合同
- 飞卢写手合同
- 中在保险合同
- 海外转账合同
- 板式家具合同
- 3.1生活中的立体图形(教学设计)- 华东师大版(2024)七上
- 全国大学生职业规划大赛《精细化工技术》专业生涯发展展示【高职(专科)】
- 税务局国考行测题库及答案详解【名师系列】
- 2025年中小学教师职称评定答辩题(附答案)
- 二手车买卖协议范本下载5篇
- 【新教材】2025-2026学年人教版(2024)信息科技六年级全一册教案(教学设计)
- 商品标识及质检知识培训课件
- 2025年节能减排在铁路运输业中的实施策略可行性研究报告
- 人力资源法律顾问
- 国开2025年《行政领导学》形考作业1-4答案
- 2025贵州茅台酒股份有限公司招聘158人笔试参考题库附带答案详解
评论
0/150
提交评论