c++ - 科学记数法的类型

标签 c++ types scientific-notation

int s = 1e9;

1e9 的类型是什么,它有多精确? (是否正好等于1000000000?)

如果可能,将值/变量的类型打印到 stdout 会很有用。

最佳答案

1e9 是一个 double,在 IEEE 浮点表示法中具有精确表示。 C++ 标准不强制要求 IEEE float 。

s 是一个 int,因此 double 值将自动转换为 int。这如何发生在某种程度上取决于实现。在如今的大多数机器上,这种转换意味着 s 将被赋予初始值 1000000000。

关于c++ - 科学记数法的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8296955/

相关文章:

c++ - 与 C++ 中的简单数学混淆

c++ - 如何使用 IDA Pro 在 DLL 中找到静态链接函数?

C++ 多维数组问题 - 条目打印不止一次

c - 如何在 C 中将整数值赋给 Unsigned Char*

python - 如何控制Holoviews y-tick格式?

c++ - extern C 是否应该包装我的每一个函数?

list - OCaml:检查成员记录列表

types - isize 和 usize 的可用性如何,为什么它们有利于索引?

php - 科学计数法中e和E的区别

excel - 这个值在Excel中意味着什么1.845E-07?