Lys*_*gel 6 core-graphics objective-c
来自"CoreGraphics/CGBase.h":
#if defined(__LP64__) && __LP64__
# define CGFLOAT_TYPE double
# define CGFLOAT_IS_DOUBLE 1
# define CGFLOAT_MIN DBL_MIN
# define CGFLOAT_MAX DBL_MAX
#else
# define CGFLOAT_TYPE float
# define CGFLOAT_IS_DOUBLE 0
# define CGFLOAT_MIN FLT_MIN
# define CGFLOAT_MAX FLT_MAX
#endif
Run Code Online (Sandbox Code Playgroud)
Apple为什么要这样做?有什么好处?
我似乎只能想到缺点.请赐教.
这是一个性能问题。
在 32 位 CPU 上,单精度 32 位float可以存储在单个寄存器中,并快速有效地移动,因为它与体系结构本机指针的大小相同。
在 64 位 CPU 架构上,64 位 IEEEdouble具有与本机指针/寄存器等大小相同的相同优点。
| 归档时间: |
|
| 查看次数: |
1254 次 |
| 最近记录: |