slf*_*slf 5 c floating-point objective-c
Max float被定义为:
文件math.h
#define MAXFLOAT 0x1.fffffep+127f
Run Code Online (Sandbox Code Playgroud)
我有点难过,我以前从未注意到这一点.这究竟是什么意思?我原以为这样:
#define MAXFLOAT 0xFFFFFFFF-1
Run Code Online (Sandbox Code Playgroud)
那甚至会起作用吗?
0x1.fffffep+127是(大致)1.99999999999999999999998乘以2 ^ 127.它是一个浮点数,带有十六进制的指数.
0x =十六进制表示法1 =数字的整数部分.fffffe =数字的小数部分p+127 ="第二次到第127次幂"的科学记数法MAXFLOAT UNIX一致性是必需的:
MAXFLOAT
[XSI]最大非无限单精度浮点数的值.
0x1.fffffep+127f 恰好是该值,表示为标准C十六进制浮点字面值.
C标准要求FLT_MAX定义<float.h>,并且它具有相同的值("最大可表示的有限浮点数",根据§5.2.4.2.2). FLT_MAX是一种更便携的选择,因为它是语言标准所要求的.
| 归档时间: |
|
| 查看次数: |
9150 次 |
| 最近记录: |