0

objcでChar配列をlongに変換する方法

 unsigned char *composite[4]; 
composite[0]=spIndex;
composite[1]= minor;
composite[2]=shortss[0];
composite[3]=shortss[1];

これをLongintに変換する必要があります。誰でも助けてください

4

1 に答える 1

0

本質的にすでに2進数であるものを変換することを検討している場合は、単純な型キャストで十分ですが、Javaの場合と同じ結果を得るには、インデックスを逆にする必要があります。long value = *((long*)composite);

このようなシナリオが多数ある場合は、これを検討することもできます。

union {
  unsigned char asChars[4];
  long asLong;
} value;

value.asChar[3] = 1;
value.asChar[2] = 9;
value.asChar[1] = 0;
value.asChar[0] = 10;

// Outputs 17367050
NSLog(@"Value as long  %ld",value.asLong);
于 2012-09-24T07:00:29.097 に答える