以2为底的一个二进制浮点数的格式如下?
按 IEEE754 标准,float 的格式是 binary32,double 的格式是 binary64,浮点数中的有效数位(significant)部分其实可以理解为是一个定点数,只不过有指数(exponent)部分做了小数点偏移(类似科学计数法,只不过是二进制的,浮点数因此得名)。
我没有具体写过浮点到定点的转换,不过我认为这不会太复杂,思路:浮点数在定点数表达范围内时,只需要用位运算把有效数位部分取出来,再根据指数部分做位移就好。当然,隐藏位,符号位,指数偏移等细节需要注意。好在浮点定点都是二进制所以不需要转换。
Double-precision floating-point formatCopyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有