如何将int8_t数组转换为目标c中的整数值?

时间:2014-08-06 14:28:46

标签: objective-c xcode int valueconverter uint8t

我有以下数组:

static const int8_t ARRAY[8] = {0x18, 0xB8, 0xCE, 0x0, 0x0, 0x0, 0x0, 0x0};

我需要得到一个整数值。对于此ARRAY最终int值为13547544,因为数组中的字节数后跟相反的顺序little-endian

示例0xCEB818 = 13547544

我该怎么做? 可以有现成的标准解决方案吗?

提前致谢!

1 个答案:

答案 0 :(得分:2)

由于主机平台是little-endian,你可以在数组中指向一个64位整数指针,机器将正确读取数组。

static const int8_t ARRAY[8] = {0x18, 0xB8, 0xCE, 0x0, 0x0, 0x0, 0x0, 0x0};
uint64_t *value = (uint64_t *)&ARRAY;

NSLog(@"%llu", *value); // outputs 13547544