作者YCK (Y.C.K)
看板C_and_CPP
标题[问题] 如何处理无穷小数的输出已达到现实中的值?
时间Wed Dec 9 22:44:04 2009
假设今天我存入一个浮点数到double
被存入的数: 123.7 (随便举例..我也不知道123.7存进去之後是否会变成无穷)
double中所存的数为 123.6333333........
我在输出的时候要如何能够使输出维123.7呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.233.40.239
1F:→ YCK:123.7 跟 123.6333333 都是我自己随便举的,看看就好@@ 12/09 22:44
2F:推 VictorTom:理论上, 照IEEE 754标准的float与double, 都存不成无穷 12/09 23:05
3F:→ VictorTom:小数, 因为mentissa有限, base为2, 所以无论如何都存不 12/09 23:06
4F:→ VictorTom:成无穷小数的....@_@" 12/09 23:14
5F:→ VictorTom:另外, 存入浮点型态时已经失准的数, 没有方法可以再取回 12/09 23:14
6F:→ VictorTom:原值, 你可以想, 32bit/64bit最多才几种变化, 不可能能 12/09 23:15
7F:→ VictorTom:储存所有实数的. 如果你的资料是有理数, 也许你可以考虑 12/09 23:15
8F:→ VictorTom:使用/设计一个分数型态; 不然, 不计算, 纯储存与显示的 12/09 23:16
9F:→ VictorTom:话, 就用string直接存成文字吧...XD 12/09 23:16
10F:→ akasan:板大要不要考虑将洗老师的那篇置底或加入十戒之类的 12/09 23:35
11F:→ akasan: 冼 12/09 23:36
13F:→ nowar100:我先加入 z-8-1 12/09 23:55
14F:推 VictorTom: 11 XD 12/10 00:45
15F:→ nowar100:囧,谢谢 XD 灌机器灌到疯了~ 12/10 00:52
16F:→ YCK:原来如此,看了那篇文章之後明白了许多. 谢谢各位^^ 12/10 01:30