繁体   English   中英

c 中浮点表示中的文字 e 和 f

[英]Literals e and f in floating point representation in c

有人可以解释文字 e 和 f 在表示 c 中的浮点时是什么意思吗? 例如

float f = 6.8558e-4f

从 2018 C 标准,第 6.4.4.2 条,改写:

  • “浮动常量有一个有效数部分,后面可能跟一个指数部分和一个指定其类型的后缀。”
  • 有效数是可能包含句点的数字序列。 它以通常的方式表示一个数字。 例如,3.4 代表 3 个个和 4 个十分之一。
  • 指数部分是一个eE后跟一个可选的符号和一个数字序列,例如e13e-4
  • “指数表示要缩放有效数部分的 10 的幂。”
  • “无后缀的浮动常量的类型为double 如果以字母fF后缀,则它的类型为float 如果以字母lL后缀,则类型为long double 。”

因此6.8558e-4f代表 6.8558•10 -4并产生一个float值。

请注意,大多数 C 实现使用基于 2 的幂而非 10 的幂的float格式,因此它们无法准确表示 6.8558•10 -4 在常用的格式 IEEE-754 binary32 中,最接近的可表示值是 0.0006855800165794789791107177734375。

e表示科学记数法。 所以6.8558e-4等价于 6.8558×10 -4

f是表示浮点数的后缀。 (默认情况下,浮点数被视为双精度。)

顺便说一句,C99 还引入了浮点数的十六进制表示法,您可以在此处阅读: C 中的十六进制浮点常量

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM