[英]Literals e and f in floating point representation in c
有人可以解释文字 e 和 f 在表示 c 中的浮点时是什么意思吗? 例如
float f = 6.8558e-4f
从 2018 C 标准,第 6.4.4.2 条,改写:
e
或E
后跟一个可选的符号和一个数字序列,例如e13
或e-4
。double
。 如果以字母f
或F
后缀,则它的类型为float
。 如果以字母l
或L
后缀,则类型为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.