将Char数组转换为Long int

时间:2012-09-24 06:36:05

标签: iphone objective-c char long-integer

如何在对象中将Char数组转换为long

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

我需要将此转换为Long int ..任何人请帮助

1 个答案:

答案 0 :(得分: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);