如何描述浮点数在内存中以长尾词形式存储的复杂机制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1606个文字,预计阅读时间需要7分钟。
我们知道,整型在内存中的存储比较简单,都是用二进制形式直接存储。然而,浮点型在内存中的存储要复杂一些。下面我们来详细探讨:
举例来说,以下是一个简单的整型示例:
cint main() { int n=9;
接下来是一个浮点型的示例:
cfloat *pFloat;
从上面的例子可以看出,整型直接以二进制形式存储,而浮点型需要更多的存储空间来表示其精度和范围。
我们知道,整型在内存中的存储比较简单,在内存中都是以二进制来存储的。然而,浮点型在内存中的存储较为复杂。下面来详细探讨: 直接举一个例子:
int main()
{
int n = 9;
float *pFloat = (float *)&n;
printf("n的值为:%d\n",n);
printf("*pFloat的值为:%f\n",*pFloat);
*pFloat = 9.0;
printf("num的值为:%d\n",n);
printf("*pFloat的值为:%f\n",*pFloat);
return 0;
}
或许可以看出第一个和第四个printf打印出来分别是9和9.000000 ,浮点型精度保留小数点后6位。
本文共计1606个文字,预计阅读时间需要7分钟。
我们知道,整型在内存中的存储比较简单,都是用二进制形式直接存储。然而,浮点型在内存中的存储要复杂一些。下面我们来详细探讨:
举例来说,以下是一个简单的整型示例:
cint main() { int n=9;
接下来是一个浮点型的示例:
cfloat *pFloat;
从上面的例子可以看出,整型直接以二进制形式存储,而浮点型需要更多的存储空间来表示其精度和范围。
我们知道,整型在内存中的存储比较简单,在内存中都是以二进制来存储的。然而,浮点型在内存中的存储较为复杂。下面来详细探讨: 直接举一个例子:
int main()
{
int n = 9;
float *pFloat = (float *)&n;
printf("n的值为:%d\n",n);
printf("*pFloat的值为:%f\n",*pFloat);
*pFloat = 9.0;
printf("num的值为:%d\n",n);
printf("*pFloat的值为:%f\n",*pFloat);
return 0;
}
或许可以看出第一个和第四个printf打印出来分别是9和9.000000 ,浮点型精度保留小数点后6位。

