最近要写段数字运算的程序,因为从FPGA获取到的是定点数,15位数,最高位bit14是符号位,bit13是整数位,后面13位是小数位; 而我的运算过程都是用的浮点数,通过一系列计算后,还需要将计算的结果以定点数的形式写入寄存器,所以首先需要写一个定点数和浮点数相互转换的函数。
首先明确一下定点数和浮点数的概念:
定点数
定点数是小数点固定的数。在计算机中没有专门表示小数点的位,小数点的位置是约定默认的。一般固定在机器数的最低位之后,或是固定在符号位之后。前者称为定点纯整数,后者称为定点纯小数。
例题:用8位原码表示定点整数(100)10
(100)10 = (1100100)2
定点整数表示为
例题:用8位原码表示定点纯小数(-0.6875)10
(-0.6875)10 = (-0.1011)2
定点纯小数表示为