VS c ++和MinGW之间有什么区别来实现double类型

Yua*_*liu 6 c++ double

在VS c ++和MinGW中运行相同的代码得到了不同的结果.结果是double的类型.示例:在VS c ++中得到"-6.397745731873350",但在MinGW中得到"-6.397745731873378".垃圾不同.但我不知道为什么?

Alo*_*ave 0

区别在于MinGW 和 VS C++ 可以表示浮点数的 精度。

\n\n
\n

什么是精度?

\n
\n\n

浮点数的精度是指它在不丢失其包含的任何信息的情况下可以表示多少位数字。

\n\n

考虑分数1/3。该数字的十进制表示形式0.33333333333333\xe2\x80\xa6为 3\xe2\x80\xb2s 直至无穷大。无限长度的数字需要无限的内存来精确描述,但数据类型通常只有float或字节。因此浮点数和双精度数只能存储一定数量的数字,其余的数字肯定会丢失。因此,没有明确的准确方法来表示浮点数或双精度数,其精度要求高于变量所能容纳的精度。double48

\n