本文目录一览

1,什么是规格化浮点数

规格化:使尾数数值部分最高位为1。当尾数不为0时,其绝对值应大于或等于0.5(即小数点后第一位必为“1”)。若不符合,应通过修改阶码,并左右移动尾数实现。可节省存储空间,避免有效数字丢失。

什么是规格化浮点数

2,浮点数规格化

我不知道你这个是什么标准啊,看这个题的意思好像是移码+尾数比如-0.101101*2^-3阶码(移码):-3原码是1011(负号为1),补码:1101(除符号位按位取反加1),移码:0101(与补码符号位相反)尾码:符号位为1,尾数为0.101101小数点后第一位非零,所以为标准化形式 尾码为:1 1011010所以这个答案为:移码+尾码0101 1 1011010至于为什么在后面加0,就像0.12。变成3位小数应该是0.120。而不是0.012啊不知道是不是这个意思,你借鉴着看吧
-12.5d=-1100.1b=-0.11001乘以(2的+4次).此处m=-0.11001b,e=+100b分别求对应字长补码,则[m]补=1.0011100000b,[e]补=00100,两数最左边一位是符号位.你的具体浮点格式没说清楚,如果是尾符在前,随后阶码,随后尾数数值的,就是 1 0 0100 0011100000b;如果是阶码在前的,那就是0 0100 1 0011100000b;若是尾数在前的,可以是1 0011100000 0 0100b.还有其他组合形式,看你的安排了.

浮点数规格化

3,规格化浮点数

1.1(X)2=+0.01111 X=+0.1111*2-001 [X]浮=1,1111 0.1111 (Y)2=-1.01 Y=-0.1010*2001 [Y]浮=0,0001 1.0110 1.2[X]浮=1,1111 0.1111 [Y]浮=0,0001 1.0110 为了计算方便用双号计算 [X]浮=11,1111 00.1111 [Y]浮=00,0001 11.0110 对阶:△E=Ex-Ey=Ex+[-Ey]=-2<0 MX向右移2 Ex+2 [X]浮=00,0001 00.0011(11) 尾数相加: [Mx]补 00.0011 + [My]补 11.0110 [Mx+My]补 11.1001 [Mz]补=11.1001(11) 结果规格化:左规一位[Mz]补=11.0011(1) [Ez]补=00,010+11,111=00,001 [Z] 浮=0,001 1.0011 2、X=0,10111 Y=1,11011 Ps=Xs*Ys=1 |P|=|X|*|Y| 0.0000 11011 + 0.10111 Y5=1+|X| 0.10111 0.01011 11101 右移一位 + 0.10111 Y4=1+|X| 1.00010 0.10001 01110 右移一位 + 0.00000 Y3=0+0 0.10001 0.01000 10111 右移一位 + 0.10111 Y2=1+|X| 0.11111 0.01111 11011 右移一位 + 0.10111 Y1=1+|X| 1.00111 0.10011 11101 右移一位 [P]原=1,1001111101

规格化浮点数

4,规格化浮点数和非规格化有什么区别

规格化浮点数的阶码不为0,非规格化全为0,用于表示更小的小数http://blog.csdn.net/justheretobe/article/details/7703575这上面解答挺详细的
你的问题太多了,我只能说,我给你解答一部分,因为时间长了,不学这个,忘记了,。这个规格化。这个你要记住,拿它和自然数比,就知道,为啥,自然数有多少多少乘以10的多少次方,其实。在自然数中,10是一个进位的数,所以,有10来表示,进位。后面有多少次方,代表小数点的移动位数。,而那个浮点数也是一样。在计算机中,是用二进制的数来表示自然数,以2位一个单位进位,所以,他们要规格化,就是后面乘以2的多少次方。,也代表小数点移动的次数。,就像自然数,的科学计数法,所以,那个ieee574,就是一个,方法,没有为什么,就像,自然数的科学计数法,。就是这样啊,不要纠结,,那个最大整数和最小负数,就是那个代表位数多少能表示多大,。负数第一位是符号位。不要忘记。计算机处理的数值数据多数带有小数,小数点在计算机中通常有两种表示方法,一种是约定所有数值数据的小数点隐含在某一个固定位置上,称为定点表示法,简称定点数;另一种是小数点位置可以浮动,称为浮点表示法,简称浮点数,
不是一两句就能说明白的,要想了解浮点数,先看一下754的标准。有本书推荐一下:浮点计算编程原理、实现与应用出版社: 机械工业出版社; 第1版 (2008年8月1日) 丛书名: 信息科学与技术丛书.程序设计系列 平装: 301页 正文语种: 简体中文 开本: 16 isbn: 9787111243830 条形码: 9787111243830 产品尺寸及重量: 25.6 x 18.2 x 1.6 cm ; 522 g9月

5,规格化的浮点数问题

01000101=5*2的4次方(不知道怎么打)=80;11011101=-5*2的-5次方模2的补码意思是:首先这个二进制以补码表示,模2的意思是说它的阶码的底数是2.
1.1(x)2=+0.01111 x=+0.1111*2-001 [x]浮=1,1111 0.1111 (y)2=-1.01 y=-0.1010*2001 [y]浮=0,0001 1.0110 1.2[x]浮=1,1111 0.1111 [y]浮=0,0001 1.0110 为了计算方便用双号计算 [x]浮=11,1111 00.1111 [y]浮=00,0001 11.0110 对阶:△e=ex-ey=ex+[-ey]=-2<0 mx向右移2 ex+2 [x]浮=00,0001 00.0011(11) 尾数相加: [mx]补 00.0011 + [my]补 11.0110 [mx+my]补 11.1001 [mz]补=11.1001(11) 结果规格化:左规一位[mz]补=11.0011(1) [ez]补=00,010+11,111=00,001 [z] 浮=0,001 1.0011 ...展开1.1(x)2=+0.01111 x=+0.1111*2-001 [x]浮=1,1111 0.1111 (y)2=-1.01 y=-0.1010*2001 [y]浮=0,0001 1.0110 1.2[x]浮=1,1111 0.1111 [y]浮=0,0001 1.0110 为了计算方便用双号计算 [x]浮=11,1111 00.1111 [y]浮=00,0001 11.0110 对阶:△e=ex-ey=ex+[-ey]=-2<0 mx向右移2 ex+2 [x]浮=00,0001 00.0011(11) 尾数相加: [mx]补 00.0011 + [my]补 11.0110 [mx+my]补 11.1001 [mz]补=11.1001(11) 结果规格化:左规一位[mz]补=11.0011(1) [ez]补=00,010+11,111=00,001 [z] 浮=0,001 1.0011 2、x=0,10111 y=1,11011 ps=xs*ys=1 |p|=|x|*|y| 0.0000 11011 + 0.10111 y5=1+|x| 0.10111 0.01011 11101 右移一位 + 0.10111 y4=1+|x| 1.00010 0.10001 01110 右移一位 + 0.00000 y3=0+0 0.10001 0.01000 10111 右移一位 + 0.10111 y2=1+|x| 0.11111 0.01111 11011 右移一位 + 0.10111 y1=1+|x| 1.00111 0.10011 11101 右移一位 [p]原=1,1001111101收起

6,求解关于浮点数尾数规格化问题

这个我补充一下,下面的同仁回答规格化的尾数必须保证尾数的最高数位必须是一个有效值(除去符号位)那C、D的数值为都1 怎么解释 你 这样解释让别人在C、D中如何选择呢 ---------------------------------------------------------------------------------------------所以按照如下法则判断即可原码表示的尾数判断浮点数是否规格化:第一个数值位是否为“1”,是,规格化;否,非规格化补码表示的尾数判断浮点数是否规格化:符号位与第一个数值位是否相异,是,规格化;否,非规格化(-1/2除外)
问题2和1很类似,就不重复了,我们来看一下问题1和问题3。 (1) 56(10) 1) 符号位 首先这是一个正数,所以符号位是0 2) 尾数和阶码的推导 56的二进制表示是:111000。用小数表示相当于是111000.0000000... 现在我们移动小数点,使得小数点前只有1位。对于这个数当然是向左移动: 移动1位是:11100.000000... 移动2位是:1110.000000... 类推 移动5位是:1.11000000... 好了,现在我们知道阶码应该是5,尾数应该是1100000... 你可能会问,怎么少了一个1?因为有数字前面的0是没有意义的,所以最高位一定是1(比如00000111,相当于111,所以第一个1前面的0都可以省略)。我们移动小数点的时候保证小数点前面的是那个最高位的1。所以没有必要表示出来。 3) 阶码 现在我们知道阶码是5,但是是采用移码的。所谓移码就是加上01111(最高位是0,其它位是1)。所以最后的阶码是:10100 4) 尾数 补够你要求的10位就行了。因此是1100000000 5) 完整的数 把上面的符号位、阶码和尾数表达出来就可以了,是: 0 10100 1100000000 16进制就是0x5300 (3) -0.00381(10) 1) 符号位 负数,所以是1 2) 尾数的推导 由于整数部分不存在,所以单独推导小数就可以了。采用乘2法,每次乘2取整数,然后继续把小数乘2。 比如你的0.00381乘2是0.00762,整数是0 再乘2是0.01524,整数是0 再乘2是0.03048,整数是0 再乘2是0.06096,整数是0 再乘2是0.12192,整数是0 再乘2是0.24384,整数是0 再乘2是0.48768,整数是0 再乘2是0.97536,整数是0 再乘2是1.95072,整数是1(终于是1了),以后乘的是小数部分 小数部分乘2是1.90144,整数是1 小数部分乘2是1.80288,整数是1 小数部分乘2是1.60576,整数是1 小数部分乘2是1.21152,整数是1 小数部分乘2是0.42304,整数是0 小数部分乘2是0.84608,整数是0 小数部分乘2是1.69216,整数是1 小数部分乘2是1.38432,整数是1 小数部分乘2是0.76864,整数是0 小数部分乘2是1.53728,整数是1 终于算满了10个有效位(心算的,有可能算错,但是大概意思是这样的)。 现在我们知道这个数是0.0000000011111001101... 现在我们向右移动小数点,直到整数位是1, 移动1位是:0.000000011111001101... 类推 移动9位是:1.1111001101... 好了,我们知道阶码是-9,尾数是1111001101(同上面的说明,最高的1忽略了) 3) 阶码 阶码是-9,加上01111是00110 4) 尾数 尾数是1111001101 5) 完整的数 合并上面的结果,是: 1 00110 1111001101 16进制是0x9bcd 另,有的浮点数规范中不省略尾数中最高的1,他们相当于从0.1xxxxx...开始计算的。那么阶码和尾数会右略微变化。 写得好累,希望对你有帮助。
D, 规格化的尾数必须保证尾数的最高数位必须是一个有效值。
浮点数尾数规格化必须保证除第一位符号位首位为有效值则为1,就好比10进制中规格化后只能用 0.3*10^3而不能用3.0*10^2或者0.03*10^4,所以此处A、010011101 去掉符号变成10011101由于是定点小数所以真值应该是0.10011101 符合规格化小数点后第一位是有效值,同理B去掉符号位真值为0.10011110一样符合。而下面的补码则不一样了。补码要求正数与原码是一样的,所以C其实跟A是一样的也是符合规格化,但是D就有问题了。由于负数的补码是除符号位其他值反码加1所以由此可见,D的原码除符号位首位应该是0,并不符合尾数规格化。补码尾数规格化公式M>=0时M=0.1XXXXXXXM<0时M=1.01XXXXXXXX可以为1或0。由此可见D.110111001并不符合补码尾数规格化。

文章TAG:规格化浮点数  什么是规格化浮点数  
下一篇