c语言学习中的问题

来源:百度知道 编辑:UC知道 时间:2024/06/23 18:25:45
课本中有这么一句话
在c语言中,所有实行数的运算均以双精度方式进行。若是单精度数,则在尾数部分添0,使之转化成为双精度数。

怎么个转化法?理解不了~~~帮我解释一下啊

这与数据在计算机内部的存储方式有关。
浮点数的存储分为两部分M,N,结果的数即M×2^N,简单来说,转化为双精度数只需在M,N前面补若干个0

单精度,也就是 float ,在 32 位机器上用 4 个字节来存储的;而双精度都是用 8 个字节来存储的。

例如:
单精度a=1.0,双精度为1.000000000000000

因为双精度是64位,而单精度是32位(就是长度);就是说当单精度转化为双精度的时候差了32位,所以就要在后面加上32个0