我有一个8位十六进制值,如:“FB”( - 5)。现在我需要这个十六进制的有符号整数值。 NSScanner在这个地方不起作用,因为你需要一个4字节的十六进制值来使它变为负数。在我开始一些操作之前,也许有人知道更好的方法吗?
答案 0 :(得分:3)
类型转换并不安全,但您确实需要它。
NSString *tempNumber = @"FB";
NSScanner *scanner = [NSScanner scannerWithString:tempNumber];
unsigned int temp;
[scanner scanHexInt:&temp];
int actualInt = (char)temp; //why char because you have 8 bit integer
NSLog(@"%@:%d:%d",tempNumber, temp, actualInt);
控制台输出:FB:251:-5