float取小数点后几位

您所在的位置:网站首页 float类型小数点后有多少位 float取小数点后几位

float取小数点后几位

2023-07-16 06:10| 来源: 网络整理| 查看: 265

在c语言中float函数是单精度的。它在内存中以二进制的形式存储。分为符号位,阶码与尾数三部分。

符号位最为简单,如果你存储的是正数那么符号数就是0。如果是负数,则为1。

下面,我以13.625为例说明阶码与尾数的表示方法。首先,我们取出13.625的整数部为13。对其使用短除法(对该数除以2,直至不能再除的一种方法)结果如下

3aafb557280eff16da9b3920f479e240.png

将各余数自下而上排列,则得到了13的二进制表示。之后,取出13.625的小数部分为0.625对其每次乘2取出整数留下小数,直至得到1。结果如下

6ef1e1de96fa21df920840f643e3facc.png

自上而下将取出的整数排列好,即得0.101。

这样我们就得到了13.625的二进制表示。为1101.101。之后我们需将小数点移动至整数部只有一位。移动后得到1.101101。在此我们将小数点移动了三位。因而三即是该数的指数。而阶码则为指数+127(加127是C语言的内在逻辑,在此我们并不深究。)因而我们得到了13.625的阶码,为130。二进制表示10000010。

至于最后的尾数,将原先得到的1.101101去掉整数部分后在后面补齐17个0即可。(float类型的尾数有23位,若不够,在后补齐0即可。)

最后我们得到了13.625的存储数据

e00831fc77894b4ba077431b5758eea4.png


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3