打印

定点和浮点数问题

[复制链接]
938|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xsgy123|  楼主 | 2012-2-6 21:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
把短点数C1C90000H转换成为十进制
(1)

将十六进制代码写成二进制,并奋力出符号位,阶码和尾数
  因为; C1C90000H=11000001110010010000000000000000

   

  符号位=1

  阶码=10000011

  尾数=10010010000000000000000
(2)

  计算出阶码真值(移码-偏置数)

  10000011-1111111=100

(3)


  以规格化二进制数形式写出次此数


1.0000011x2的4次方


我就不懂了那个1是从哪来的?为什么是那样表示

(4)

  写成非规化二进制形式

  11001.001
注:规划和非规划化的区别是什么?实在是不懂!(5)


  转化成十进制数并加上符号位

  (11001.001)2=(25.125)10

  所以,  

[
该浮点数=-25.125



哎:
怎么又变成负数了?

相关帖子

沙发
sinadz| | 2012-2-6 21:21 | 只看该作者
浮点数的存储,尾数全都是以1为个位数的二进制小数
也就是说尾数=10010001000000000000000
其代表的是0.10010001000000000000000
而真实值为1.1001000100000000000000

这里的个位是被省略掉的,是默认为1的,所以我们看到的只是小数点后面的数字的记录,这种做法的好处就是能够覆盖更多的数字,一倍的差距。而计算机在从寄存器中读取该浮点数的记录并转化为我们可读的数字或者用于计算的时,已经把这个被省略的默认的“个位1”给重新加入进去了。所以才造成了视觉得偏差

至于后面得出的结果,因为是C1C90000,说明首位符号位是1,次特性不会被阶码和位数的计算影响,确定是负数

“规划和非规划化的区别是什么?”这个可能是某个教材中的作者惯用的叫法,我没什么印象了,有原文么?规格化则表示“0.6=1.00110011001(B)”等式中右半部的显示方式,区别在于小数点的位置和第一位是否为1“0.1010101”或“1001.101”这样都不是规格化显示

使用特权

评论回复
板凳
火箭球迷| | 2012-2-7 19:04 | 只看该作者
找本DSP的书看看可能会更清楚一些

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

229

主题

2603

帖子

1

粉丝