簡體   English   中英

Objective-C中的MAXFLOAT

[英]MAXFLOAT in Objective-C

Max float被定義為:

文件math.h

#define    MAXFLOAT    0x1.fffffep+127f

我有點難過,我以前從未注意到這一點。 這究竟是什么意思? 我原以為這樣:

#define    MAXFLOAT    0xFFFFFFFF-1

那甚至會起作用嗎?

0x1.fffffep+127是(大致)1.99999999999999999999998乘以2 ^ 127。 它是一個浮點數,帶有十六進制的指數。

  • 0x =十六進制表示法
  • 1 =數字的整數部分
  • .fffffe =數字的小數部分
  • p+127 =“第二次到第127次冪”的科學記數法

UNIX一致性需要MAXFLOAT

MAXFLOAT

[XSI]最大非無限單精度浮點數的值。

0x1.fffffep+127f正是該值,表示為標准C十六進制浮點字面值。

C標准要求FLT_MAX<float.h>定義,並且它具有相同的值(“最大可表示的有限浮點數”,根據§5.2.4.2.2)。 FLT_MAX是更便攜的選擇,因為它是語言標准所要求的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM