【发布时间】:2018-11-18 09:00:55
【问题描述】:
已知大多数小数不能完全用Double表示,计算小数有错误。
有没有办法快速判断小数运算是否有错误,是否等于另一个小数?
如果没有,需要手工计算。当模拟计算机运算将数字转换为二进制到53位时,如何判断是否需要携带? 搜索.Net好像使用四舍五入到50%,这个规则是怎么用二进制实现的?
我需要的不是小数错误的解决方法,而是如何判断小数运算是否有错误和相等。
因为是纸质比赛,希望能有快速的手算方法!谢谢!
例如:
执行以下 Visual Basic 程序片段并将结果输出为“True” Console.WriteLine(1.1 + 1.2 = 2.3)
执行以下 Visual Basic 程序片段并将结果输出为“False” Console.WriteLine(0.3 - 0.2 = 0.1)
P.S 如果有描述,请见谅,我不是说英语的。
【问题讨论】:
-
仅作记录;您是要我们想出一个可以在比赛中使用的答案吗?
-
这并不像您想象的那么容易或微不足道。这里还有不止一个问题
-
请edit 将该问题限制为具有足够详细信息的特定问题,以确定适当的答案。避免一次问多个不同的问题。请参阅How to Ask 页面以获得澄清此问题的帮助。
-
但这出现在主题测试中。附上原始问题。 """""22. 执行下面的Visual Basic程序片段,输出是什么? (A) 1 (B) 0 (C) True (D) False Console.WriteLine (1.1 + 1.2 = 2.3)"""" ""
-
@Cliff。然后运行它并找出答案。你为什么问我们? dotnetfiddle.net