[英]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.