3 つの NSInteger 型を含む NSData オブジェクトを作成したいのですが、次のコードを使用します。
- (void)test
{
NSInteger i = 12, j = 2000, k = 2;
NSMutableData *md = [NSMutableData dataWithCapacity:10];
[md appendBytes:&i length:sizeof(i)];
[md appendBytes:&j length:sizeof(j)];
[md appendBytes:&k length:sizeof(k)];
NSLog(@"data is %@",md);
}
しかし、ログに記録すると、次のことがわかります。
data is <0c000000 d0070000 02000000>
これらを 10 進数に変換すると、これらの数値は 201326592、3490119680、33554432 になります。なぜこれらの数値なのかわかりません。どうすればよいですか? ありがとう。