2012-09-24 72 views
0

如何字符數組轉換爲長OBJÇ轉換字符數組長整型

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

我需要將其轉換爲長int..Anyone請幫助

+0

所以你想要這4個字符串連接,然後轉換爲一個整數?或者你也許是指'unsigned char composite [4]'而不是? – trojanfoe

+0

我正在嘗試類似於這個'(新的BigInteger(1,複合))'這是在java代碼 – 012346

+0

在java字節數組中複合值是[1,9,0,10]和 BigInteger comp = new BigInteger (1,複合);這給了 17367050值我沒有得到這個value.my複合值是[0] 0x00000001,[1] 0x0000005a,[2] 0x00000000,[3] 0x0000000a – 012346

回答

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);