0.1 + 0.2 的不同答案

问题描述 投票:0回答:2

我知道计算机中有一个数学问题会导致意外的输出:

var a = .1;
var b = .2;
Console.WriteLine(a + b);
// output: 0.30000000000000004

但是当我在其他一些电脑(例如 w3schools 在线 C# 编译器)中运行此代码时,我得到了

.3
作为答案,这对我来说似乎很奇怪。 为什么会发生这样的事?

c# floating-point decimal
2个回答
0
投票

不同的编译器、平台和硬件可能以不同的方式处理浮点运算,从而导致您观察到的结果存在差异。在某些情况下,某些编译器或平台可能会执行优化或使用扩展精度算术,这可能会导致不同的输出。


-2
投票

完美的youtube视频你需要观看:)

© www.soinside.com 2019 - 2024. All rights reserved.