十进制浮点数转换成IEEE754标准的32浮点数的二进制格式

将20.163转换成754标准的32位浮点数

1.将十进制数转换成二进制数

十进制浮点数,整数部分转换成二进制,采用除2取余法,将余数从低到高排列,即为整数的二进制数;

小数部分转换成二进制,采用乘2取整法,将取整数顺序排列,即为小数的二进制数。

小数部分乘2直到小数部分为0,或取到想要的位数,或循环出现前。

整数部分

20/2=10    ....  0

10/2=5      ....  0

5/2=2        ....  1

2/2=1        ....  0

1/2=0         ..... 1

小数部分

0.163*2=0.326        0

0.326*2=0.652        0

0.652*2=1.304        1

0.304*2=0.608        0

0.608*2=1.216        1

0.216*2=0.432        0

0.432*2=0.864        0

0.864*2=1.728        1

0.728*2=1.456        1

0.456*2=0.912        0

不要求精度时,通常取到8~10位

20.163=10100.0010100110

2.移动小数点到第1、2位之间,得e的值

10100.0010100110=1.01000010100110 *2的4次方    e=4(小数点移动4位)

3.求出S、E、M的值

S=0,E=4+127=131,M=01000010100110

S由小数点的后一位可以看出,0为正数,1为负数。

0  1000001 01000010100110000000000

IEEE754标准中32位浮点数表示

S         E               M

S是符号位占1位,E是阶码占8位,M是尾数占23位。



当尾数的值不为0时,尾数的最高有效位应为1,这称为浮点数的规格化表示

这样形式的叫规格化

新手初学,有问题或者错误,麻烦评论下 留言指正,谢谢

  • 13
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
### 回答1: 很抱歉,作为AI语言模型,我无法直接进行计算和换。但是,我可以告诉你如何将一个十进制数表示成IEEE754标准32位浮点规格化数。 IEEE754标准32位浮点数由三个部分组成:符号位、指数位和尾数位。其中,符号位用来表示数的正负性,指数位用来表示数的大小,尾数位用来表示数的精度。 具体地,将一个十进制数表示成IEEE754标准32位浮点规格化数的步骤如下: 1. 确定符号位:如果数为正,则符号位为;如果数为负,则符号位为1。 2. 将数的绝对值转换成二进制数。 3. 将二进制数规格化,即将小数点移动到第一个非零位前面,并记录移动的位数。 4. 计算指数位:指数位等于移动的位数加上一个固定的偏移量(127)的二进制表示。 5. 计算尾数位:将规格化后的二进制数的小数部分乘以2的23次方,并将结果转换成二进制数。 6. 将符号位、指数位和尾数位拼接起来,得到IEEE754标准32位浮点数。 希望这些信息能对你有所帮助。 ### 回答2: IEEE 754标准是一个指定了浮点数在计算机中的表示方法的标准。在IEEE 754标准中,浮点数32位二进制数来表示,其中第一位是符号位,接下来8位是指数,剩下的23位是尾数。以下是将十进制数表示成IEEE 754标准32位浮点规格化数的方法: 1.将十进制化为二进制数。例如,如果要将3.14表示为32位二进制数,则需要将3和0.14分别化为二进制数。 3的二进制数为11,0.14的二进制数可以用乘2取整法来求得:0.14*2=0.28,取整得0,再将0.28乘2,得到0.56,取整得1,继续将0.56乘2,得到1.12,取整得1,以此类推。最终得到3.14的二进制表示为11.00100011110101110000101。 2.将二进制数规范化。将小数点左移或右移,使得二进制数的第一位是1,是为规范化。例如,将上面的二进制数规范化为1.100100011110101110000101。 3.确定符号位。如果十进制数是正数,则符号位为0;如果是负数,则符号位为1。 4.将规范化后的尾数和指数化为二进制数。指数的表示方法是将十进制指数加上一个偏置值,偏置值是2^(8-1)-1=127。例如,指数为3时,其二进制表示为127+3=130,即10000010。 5.将符号位、指数和尾数合并,得到32位二进制数,即为3.14的IEEE 754标准32位浮点规格化数。 3.14的二进制表示为11.00100011110101110000101,符号位为0,指数为130的二进制表示为10000010,尾数为10010001111010111000010。将符号位、指数和尾数合并,得到32位二进制数为01000001010010001111010111000010,即3.14的IEEE 754标准32位浮点规格化数为0x4048F5C3。其中,0x表示十六进制,4048F5C3是其十六进制表示。 ### 回答3: IEEE 754标准是一种二进制数表示方法,其中32位二进制数按照规定格式表示浮点数。给定一个十进制数,需要将其转换成32位IEEE 754规范化浮点数。 步骤如下: 1.将给定的十进制转换成二进制数。 比如,对于十进制数0.15625,可以使用乘2取整法换为二进制数0.00101。 2.将二进制标准化。 标准化的二进制数即将小数点移到最左边,此时需要记录移动的位数。 对于0.00101,需要将小数点左移3位,得到规范化后的二进制数1.01。 同时,需要记录移动的位数,即-3,将其转换成二进制数0011。 3.确定符号位、阶码和尾数。 符号位为0,表示正数。 阶码为指数部分加上一个偏移值(127),即2的7次方。 对于0.00101,阶码为-3+127=124,转换成二进制数为01111100。 尾数即去掉整数部分的1之后剩余的位数,此处为01。 4.将符号位、阶码和尾数拼成32位二进制数。 符号位为0,占用1位。 阶码占用8位,化为二进制数为01111100。 尾数占用23位,为01000000000000000000000。 最终的32位二进制数为0 01111100 01000000000000000000000。 这就是十进制数0.15625的IEEE 754规范化浮点数表示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值