-
2021-04-29 17:02:26
浮点数加减运算后,规格化:
这里我们重点讨论右规的情况:
若尾数为10.XXXX或者01.XXXX表明运算结果溢出,必须使尾数变小,阶码变大,尾数右移(小数点左移),称之为向右规格化。
切记补码的规格化似乎并不属于算术移动,也不属于逻辑移动,也就是单纯的尾数移动。
这里尾数是包括数符位的,所以最后数符位的就填原本的0或1就行。
10.XXXX变为11.0XXX
01.XXXX变为00.1XXX左规就很简单了:
若尾数为00.0XXX或者11.1XXX,左移使之最终变成00.1XX或者11.0XX。总结:一般补码移动没有交代具体的移动方式,就当成单纯的尾数移动,不用考虑算术移动,还是逻辑移动。
更多相关内容 -
计组 | 浮点数、浮点数补码规格化
2022-03-27 09:27:25一、什么是浮点数 浮点数让小数点的位置根据需要而浮动。它跟定点数不一样,定点数的小数点是固定的,默认在一个位置上。 公式 可以将其看成科学计数法来理解,即 103=1.03×102 。但是在浮点表示法中r一般是2...一、什么是浮点数
浮点数让小数点的位置根据需要而浮动。它跟定点数不一样,定点数的小数点是固定的,默认在一个位置上。
公式
可以将其看成科学计数法来理解,
即 103=1.03×102 。但是在浮点表示法中r一般是2而不是10(表示在二进制下)。
E叫做阶码(Exponent),用来控制小数点的位置。M叫做尾数(Mantissa),是一个纯小数(整数部分为0的小数),表示小数点后的数值。
比如还用回十进制r=10,M=0.4567,E=-4,那么N=0.00004567
这里E的值表示小数点向左移动4位格式
若阶码和尾数都用补码表示
则获得浮点数的一般格式:其中各位都是二进制位,取0或1。
es和ms是符号位。es为1时,表示×2的负数次方,也就是小数点向左移;es为0时,表示×2的正数次方也就是小数点向右移。ms为1时,表示这个数是负数,即N为负数。
例如:
这里若ms=0b0、m为0b1011, -
计算机组成浮点数补码规格化负数表示范围
2019-06-26 15:50:42推理:关于浮点数的表示与运算章节中,补码规格化后的负数所能表示的范围 一、记住形式1.0xx,现要找最大的负数 二、假设现在仅4位(符号位占一位),毫无疑问就是-0.001,原码表示就是1.001(最低位为0时-0在原码...推理:关于浮点数的表示与运算章节中,补码规格化后的负数所能表示的范围
一、记住形式1.0xx,现要找最大的负数
二、假设现在仅4位(符号位占一位),毫无疑问就是-0.001,原码表示就是1.001(最低位为0时-0在原码中也是0),可是然后规格化得1.111,不符合形式
三、(推理)这个数取反+1要变成1.0xx,那么原码必须是1.1xx(因为若原码是1.0xx,取反加一后还要是1.0,则只有1.000,但个数是0不是负数)
四、由上一步可知最大的负数应尝试取到1.100,可是补码是1.111还是不符合,因此再尝试1.101,此时补码是1.011,得到结果
结论:规格化浮点数的补码规格化后负数为1.0xx形式且其最大值表示为1.01……1(不仅四位的话中间……处全补1)
反思:为何形式是1.0xx呢?(1是负数符号没毛病,但为何就不能是1.1?)
反证:若取1.1xx,则可取1.111,这个补码的原码是1.001,表示的数是-0.001,这时问题就出现了,究竟何为规格化?
规格化:通过调整一个非规格化浮点数的尾数和阶码的大小,使非零的浮点数在尾数的最高数位上保证是一个有效值,当基数为2时,尾数M的绝对值满足1/2<=|M|<=1
判断:凭最后一句尾数M的要求就可以理解为何形式是1.0xx了
再问:为何使非零的浮点数在尾数的最高数位上保证是一个有效值,尾数M绝对值就是大于1/2?(或者应该反过来说,为何尾数M绝对值就是大于1/2,可以保证最高数有效?)
易知:这是规定而来的,试想若能小于1/2,则最高位就是0了(尾数都是小数部分,相当于二进制下小数点后一位),那又怎么知道到第几位会有效?若设为>=1/4,那为何不是1/8呢?所以大于等于1/2是有道理的,可以保证最高位是1
延伸:这就不难理解了
原码与补码的正数规格化形式都是0.1xx,MAX=0.111,MIN=0.100(范围就是1/2到(1-2^-n))
负数时原码可以表示的形式是1.1xx,因为最大值1.100,最小值1.111(范围就是(1-2^-n)到1/2)
负数时补码可以表示的形式是1.0xx,因为最大值1.011,最小值1.000(范围是-1到-(1/2+2^-n)),注意1.000是-1的补码,补码中负0 是表示负得最多的数(即最小的负数)
-
补码表示的浮点数的规格化及示数范围
2017-02-27 17:22:21转自:补码表示的浮点数的规格化及示数范围 一、规格化 对二进制浮点数N = m x rm ^ e(rm为尾数的基),若尾数m满足1/2≤|m|,即尾数最高位数字为“1”,则为规格化的数。 对补码来说:如果是正数,...转自:补码表示的浮点数的规格化及示数范围
一、规格化
对二进制浮点数N = m x rm ^ e(rm为尾数的基),若尾数m满足1/2≤|m|<1,即尾数最高位数字为“1”,则为规格化的数。
对补码来说:如果是正数,尾数的最高位为“1”;如果是负数,尾数的最高位应为“0”(即1.0x...x),或为“1”而以后各位全为“0”(即1.10...0)。前者小于-1/2,后者正好等于-1/2。
为了机器判断方便,在补码表示中,往往不把-1/2列入规格化的数。这样,补码规格化数规定如下:
对正数m ≥ 0,如果 1 > m ≥ 1/2,称为规格化数,其补码表示形式为:0.1x...x ;对负数x<0,如果 -1/2> m ≥ -1(注意:补码表示的时候可取-1),称为规格化数,其补码表示形式为:1.0x...x。 其中x表示可任取“0”或“1”。
因此,机器只要判断运算结果的符号位与第一位数字是否相同,便可知道是否是规格化的数。
二、示数范围
1个浮点数需要用以下6个参数来表示:
* 尾数的基rm。在不同的数制中,可以分别取值为 rm = 2、4、8、16、10。
* 尾数的值m。
* 尾数的长度p。p的值与尾数采用的基rm有关,p位长的尾数的rm进制数的尾数为p' = p / [ log2(rm) ]。
* 阶码的基re。一般取re = 2。
* 阶码的值e。
* 阶码的长度q。由于re = 2,因此q的值就是e的二进制数的位数。
(1)当尾数的值m采用原码表示时,规格化浮点数N的示数范围为
(rm ^ (-1)) x (rm ^ ( - re ^ q)) ≤ N ≤ (1 - rm ^ ( -p')) x (rm ^ ( re ^ q -1))
(2)当尾数的值m采用补码表示时,规格化浮点数N的示数范围在正数区间与m采用原码表示时相同,在负数区间的示数范围为
- (rm ^ (re ^ q -1)) ≤ N ≤ - (rm ^ (-1) + rm ^ (-p)) x (rm ^ ( - re ^ q))
-
计算机原理:浮点数的规格化表示及判断
2021-03-30 13:23:31计算机原理:浮点数的规格化表示及判断 不喜欢看文字的同学,可以直接去b站看下西安电子科技大学车向泉老师的讲解就明白了。 链接如下:https://www.bilibili.com/video/BV1nt411q7rg?p=9; 注:对初学计算机原理的... -
【细碎知识1】浮点数的规格化
2021-04-07 17:51:271.浮点数规格化的标准 浮点数规格化其实是将浮点数的尾数化为符合要求的格式,同时阶数进行调整(左规阶数-1,右规阶数+1) 1.1 尾数用原码表示 当尾数用源码表示时: (1)单符号位 正数 负数 0.1XXXX 1.1... -
浮点数运算规格化
2019-12-07 11:14:20在尾数用补码表示时,规格化浮点数应满足尾数最高数位与符号位不同,如相同就是不满足规格化。 尾数用双符号位补码表示,经过加/减运算之后,可能出现以下六种情况,即 ① 00.1 x x … x ② 11.0 x x … x ③ ... -
浮点数的规格化表示 & 非规格化表示
2020-08-28 22:46:37文章目录1 浮点数的一般表示2 IEEE 754标准的浮点数2.1 规格化浮点数的格式2.2 规格化浮点数的取值范围2.3 类型转换时的精度损失和溢出 1 浮点数的一般表示 JfJ_fJf J1J2…JmJ_1J_2\dots J_mJ1J2…Jm ... -
八进制、十六进制浮点数-规格化数判断
2021-03-30 15:13:45在看这篇文章之前,请先看下二进制规格...1、对于8进制浮点数,用2进制补码表示时: 1)对于正数,数值位前3位为000时,为非规格化数,其余情况为规格化数; 2)对于负数,数值位前3位为111时,为非规格化数,其余情况 -
补码、浮点数
2018-10-09 17:09:54补码:用于简化加法器的实现电路。 正数的补码就是原码,负数的补码...IEEE-754规格化浮点数标准: 浮点数小数位左边的整数位不用存储,约定为1,即通过移动小数点改变指数部分使得小数点左边只有1,此1不用存储,... -
计组_浮点数表示/补码运算:定点数加减法/浮点数加减法(步骤+实例)
2021-06-22 14:26:43文章目录步骤问题实例对阶操作(基于补码)尾数求和(基于对阶后)规格化数相关知识左归操作右归操作回到本例: 步骤 设两个浮点数 x=Sx⋅rjxy=Sy⋅rjy \begin{array}{l} x=S_{x} \cdot r^{j_{x}} \\ y=S_{y} \cdot r^{j_... -
计算机组成原理--浮点数-原码补码表示范围
2020-10-15 23:57:50看了一晚上,终于从懵逼中走了出来。 规律大概就是,分析绝对值大小,绝对值大的,阶码越...基本知识不解释了,计算机组成原理书上都有,补码移码不理解的自己去翻书看,第4页ppt上也写了一下简单的转换规律。 ... -
计组 | 【IEEE754浮点数】规格化表示 以及 移码的设计思想
2022-03-29 10:21:25二进制整数都是以补码形式出现的。 正数的补码与反码、原码一致, 负数的补码是反码+1.这样使减法运算可以使用加法器实现,符号位也参与运算; 移码与补码就是符号位取反 移码的设计思想 首先抛出... -
浮点数的规格化与进制数之间的转换
2022-03-10 14:41:55浮点数规格化与进制数之间的转换 -
负数补码表示范围以及规格化数
2020-03-07 20:45:39原码形式下 补码形式下 负数补码规格化取值范围 -
关于浮点数规格化表示的问题
2018-10-16 13:30:23首先,为什么要规格化 以十进制情况 举个例子:1000可以表示成 1 x 103 或者 10 x 102,这样一个数就可以有好多种的表示方法,计算机不是人脑哪能知道这么多。为了方便在不同的计算机之间的移植(例如:IEEE... -
计算机组成原理——关于原码、补码、移码运算及浮点数运算的总结
2022-03-22 17:39:02计算机组成原理——原码、补码、移位运算及浮点数运算的总结 包含加减乘除操作的原理及举例说明 -
2.5 浮点数的表示及运算(浮点数表示、规格化)
2021-09-13 19:53:022.5.1 浮点数表示法 2.5.1.1 浮点数的表示方式 M称为浮点数的尾数,是一个纯小数 ; E称为浮点数的阶码,是一个整数; R称为基数,对于二进制...浮点数的尾数一般用补码表示,在规格化小数中,符号位和最高数... -
浮点数,ieee754标准、补码规格化数,左规右规
2019-12-26 11:32:272)补码做尾数时,规格化数尾数的范围 1/2 ≤ |M| 即符号位与数值位最高位相反 ps: 非ieee754标准浮点数格式通常为如下三部分 符号位(尾数的符号位) 阶码 尾数(尾数的数值位) 何为右规?... -
规格化浮点数尾数的补码最高有效位与符号位相反
2018-06-25 19:52:30根据浮点数规格化,小数点右移动,直到小数点后一位不为0,所以规格化后的浮点数尾数最高有效位一定为1,而有补码规可知规格化浮点数尾数的补码最高有效位与符号位相反... -
若浮点数尾数用原码表示,则规格化尾数形式要求,如果是补码表示则?
2021-05-18 12:22:0620若浮点数尾数用补码表示,则下列数中为规格化尾数形式的是() B.0.0111000 A.1.1100000 D.1.0001000 C.0.0101000 21)若浮点数尾数用原码表示,则下列数中为规格化尾数形式的是( A.1.1100000 B.0.0111000 D.1.0010000 ... -
浮点数规格化加减运算
2020-11-10 14:40:32 -
浮点数加减运算的结果规格化处理
2019-12-28 14:10:22对运算结果进行规格化处理 (1)先判断结果是不是规格化,如不是执行下面几步 (2)补码尾数的最高位和尾数符号相反,如 (3)结果溢出(01,10)则需要右规,否则左规 二.例题分析 例题1: x = 2^110.100101, y = 2^-... -
C语言学习(十一)小数在内存中是如何存储的?...规格化浮点数与非规格化浮点数又表示什么?
2021-09-28 17:19:07规格化浮点数与非规格化浮点数又表示什么? 浮点数与定点数 小数在内存中以浮点数形式存储。浮点数并不是一种数值分类,他和整数、小数、实数等不是同一个层面的概念。浮点数是数字(或者说是数值)在内存中的一种... -
数字的计算机表示(负数原码补码、右移、浮点数)
2021-03-25 18:16:27负数原码补码、右移 整数计算机表示 浮点数计算机表示(IEEE 754浮点标准) 单精度浮点数 双精度浮点数 举例,并在Xcode中查看二进制表示 -
浮点数运算的的规格化
2017-06-30 11:04:31在尾数用补码表示时,规格化浮点数应满足尾数最高数位与符号位不同,如相同就是不满足规格化。 尾数用双符号位补码表示,经过加/减运算之后,可能出现以下六种情况,即 ① 00.1 x x … x ② 11.0 x x … x ... -
浮点数的表示 —— 基本格式、规格化、表示范围
2019-07-14 22:15:04阶码:阶码是整数,阶符和 m 位阶码的数值部分共同反映 浮点数的表示范围及小数点的实际位置 ,常用移码或补码表示。IEEE754标准中采用移码的表示形式。 尾数:数符表示浮点数的符号,尾数的数值部分的位数 n 反映... -
结果规格化—规格化浮点数的加减运算
2018-04-08 00:21:56对运算结果进行规格化处理 (1)先判断结果是不是规格化,如不是执行下面几步 (2)补码尾数的最高位和尾数符号相反,如 (3)结果溢出(01,10)则需要右规,否则左规 二.例题分析 例题1: x = 2^11*0.100101, y = 2^... -
规格化浮点数
2014-05-08 23:49:50在尾数用原码、纯小数,阶码用移码、整数的浮点数表示方式中,规格化浮点数N的表示数的范围是: (2.1) 从式(2.1)中可以看出,规格化浮点数的最大正数值是由尾数的最大正数值与阶码的最大正数值组合而成的,而最小正...