十进制浮点数转二进制浮点数计算规则及Vivado浮点数计算IP核介绍

1、十进制浮点数转二进制浮点数计算规则

   (1)单精度二进制浮点数存储格式如下图:

十进制浮点数转二进制浮点数计算规则及Vivado浮点数计算IP核介绍

       那么一个单精度十进制浮点数转二进制浮点数的规则是如何的呢?假设这里有一个小数为3.625,那么该小数对应的整数部分就是11,小数部分就是101,那么该数表示成二进制就是11.101,由于我们需要表示成浮点二进制数,那么小数点要向左移动一位,那么变为1.1101,那么对应的浮点二进制整数部分就是127+1=128=0x80,小数部分为1101,由于该数是整数,所以符号位为0,将上述数字如图对号入座,其余空余的地方补1,可得转换后的数据是:0100 0000 0110 1000 0000 0000 0000 0000,对应的十六进制表示就是0x40680000,即3.625的单精度浮点二进制数表示就是0x40680000。

  (2)双精度二进制浮点数存储格式如下图:

十进制浮点数转二进制浮点数计算规则及Vivado浮点数计算IP核介绍

      那么一个双精度浮点数的转换规则是怎样的呢?其实和单精度浮点数的转换机制类似,由(1)3.625对应的二进制数为11.101,小数点左移一位后为1.1101,整数部分就为1023+1=1024=0x800,小数部分为1101,符号位为0,按如图格式对号入座,其余部分补0,得到转换后的的数为0100 0000 0000 1101 000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000=0x400D000000000000,即3.625的双精度浮点二进制数表示就是0x400D000000000000。

   (3)便捷计算软件

      网上可以找到浮点数转换的便捷计算软件,非常方便,如下图这个软件:

十进制浮点数转二进制浮点数计算规则及Vivado浮点数计算IP核介绍

       下载链接为:http://www.greenxf.com/soft/210343.html 

2、Vivado浮点数计算IP介绍

      打开Vivado软件,点击IP Catalog,输入float关键词进行搜索,可以看到有Float-point这个IP核,双击打开

十进制浮点数转二进制浮点数计算规则及Vivado浮点数计算IP核介绍

       在Operation Selection中可以按照自己的需求配置成加法器,减法器,乘法器,除法器,乘加器等,如果在这里选择加法和减法同时用的话,接口会增加一个操作模式选择信号。

十进制浮点数转二进制浮点数计算规则及Vivado浮点数计算IP核介绍

       在Precision of Inputs中可以设置数据的存储格式,一般不做修改,保持默认。

十进制浮点数转二进制浮点数计算规则及Vivado浮点数计算IP核介绍

        在Optimizations中可以根据需要进行优化,优化选项有高速,低延时以及面积优化。

十进制浮点数转二进制浮点数计算规则及Vivado浮点数计算IP核介绍

      在Interface Options中可以根据需要配置所需要的接口。

十进制浮点数转二进制浮点数计算规则及Vivado浮点数计算IP核介绍