Jim*_*ann 0 java objective-c bytecode-manipulation
我正在将一些Java代码移植到Objective C并且知道得足以让人头疼.有人能指出我对等于Double.doubleToLongBits和Float.floatToIntBits的objC吗?
正如荷荷巴指出的那样,long并不能保证64位宽(尽管他说错32位 - long在64位平台上的Objective-C是64位宽).也就是说,我会使用实际的固定宽度类型而不是long long.
#include <stdint.h>
uint64_t doubleToBits(double x) {
const union { double f; uint64_t i; } xUnion = { .f = x };
return xUnion.i;
}
uint32_t floatToBits(float x) {
const union { float f; uint32_t i; } xUnion = { .f = x };
return xUnion.i;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
715 次 |
| 最近记录: |