IOS开发:hex字符串转有符号整数

- (NSInteger)singnedIntegerFromHexString: (NSString *)str{
    NSInteger decimalism = 0;
    if (([self decimalFromHexString:str] ^ 0x7F) > 127) {
        decimalism = [self decimalFromHexString:str] - 256;
    } else {
        decimalism = [self decimalFromHexString:str];
    }
    return decimalism;
}

- (NSInteger)decimalFromHexString:(NSString *)str {
    unsigned int result;
    NSScanner* scanner = [NSScanner scannerWithString:str];
    [scanner scanHexInt:&result];
    return result;
}

// 使用:

 NSString *newHexStr =@"BB";///16进制数
 NSString *newIntStr = [NSString stringWithFormat:@"%ld",[self singnedIntegerFromHexString:newHexStr]];

// 输出:
输出.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容