簡體   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