2014-12-02 44 views

回答

0

也許有我俯瞰的東西在這裏,但鑑於雙方char和NSInteger的都是整數類型,你就不能這樣做

char tem = '\xd1'; 
NSInteger i = tem; 

?或許,以避免意外的符號擴展,

NSInteger i = tem & 0xff; 
0

一個char變量實際上一個8位整數。您不必將其轉換爲NSInteger以獲取其十進制值。只要明確地告訴編譯器把它解釋爲一個無符號的8位整數,uint8_t

char theChar = '\xd1'; 
NSLog(@"decimal: %d", (uint8_t)theChar); //prints 'decimal: 209' 

要將其轉換爲NSInteger

NSInteger decimal = (uint8_t)theChar; 
0

如果你在ANSCII燒焦,這樣做:

char a = '3';//example char 
int i = (int)(a - '0'); 
相關問題