我仍然是C ++的新手,并在这里寻找我的问题的答案,但所有的答案似乎有点太技术性,让我更加困惑。 让我首先说明,我知道,从C ++中我可以使用浮点数= 4个字节和大约。 7位数。双= 8字节,大约。 15位数。 Long double = 8个字节,大约15位。
这是我的问题:我创建一个简单的求和并使用float,double和long double声明变量。但是我在构建和运行后在控制台上的答案没有显示正确的数字位数。对于浮动它工作正常,但不适用于其他两个。示例:
float sum;
sum = 9.123456 * 5;
现在,当我构建并运行它时,控制台上的答案显示1.82469
浮动(这很好,因为它是7位数,包括"点")。但是对于double和long double,当我运行它时,我的控制台中仍会显示1.82469
(7位数)。
所以我有两个问题:
答案 0 :(得分:1)
1) cout << setprecision(15)
2)C ++标准没有完全指定类型。例如,&#34; long&#34;可以是32位或64位。所以,&#34;长双&#34;可以等于&#34; double&#34;可能不是。