0

如何在obj c中将Char数组转换为long

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

我需要将其转换为 Long int ..任何人请帮忙

4

1 回答 1

0

如果您正在考虑转换本质上已经是二进制数的内容,那么简单的类型转换就足够了,但您需要反转索引以获得与 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 回答