0

私は次の配列を持っています:

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

整数値を取得する必要があります。このARRAY最終int値は です13547544。配列内のバイトが逆の順序で続くためlittle-endianです。

0xCEB818 = 13547544

これどうやってするの?標準ソリューションを用意できますか?

前もって感謝します!

4

1 に答える 1

2

ホスト プラットフォームはリトル エンディアンであるため、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
于 2014-08-06T14:36:11.397 に答える