SuT*_*ron -6 c++ floating-point double
假设我有一个输入1.251564
.
如何找到"."
输出后有多少元素,如下所示:
int numFloating;
// code to go here that leads to
// numFloating == 6
Run Code Online (Sandbox Code Playgroud)
ps很抱歉没有提供任何代码,我只是不知道应该如何实现:(
谢谢你的回答!
让我们考虑你的号码1.251564
.将其存储在a中时double
,它以二进制IEEE754格式存储.你可能会发现这个数字不具代表性.那么,让我们检查这个数字.在最近表示的双是:
1.25156 39999 99999 89880 45035 73046 53152 82344 81811 52343 75
Run Code Online (Sandbox Code Playgroud)
这可能会给你带来惊喜.小数点后面有52位小数.
您需要从中汲取的教训是,如果您想询问有关十进制表示的问题,则需要使用十进制数据类型而不是double
.一旦您能够准确地表示价值,那么您将能够以符合您期望的方式对其进行推理.
归档时间: |
|
查看次数: |
233 次 |
最近记录: |