iOS 十六进制的相加取反

ios中将NSstring字符串转换成char类型

NSString *string = [NSString stringWithFormat:@"5D"];
        
const char *result = [string UTF8String];

 

char字符转成NSstring

char a[10] = "3Er4";
        
NSString *string = [NSString stringWithUTF8String:a];

 

将char类型字符转成十进制类型,然后需要什么样的进制类型都可以直接转换了

unsigned long num = strtoul(result, 0, 16);
        
NSLog(@"%lu",num);
        
NSLog(@"%0lx",num);
        
NSLog(@"%0lX",num);

%0x----是保存成十六进制的(字母是小写)

%0X----是保存成十六进制的(字母是大写)

 

十六进制相加 取反

unsigned long num1 = strtoul([@"5D" UTF8String],0,16);
unsigned long num2 = strtoul([@"EE" UTF8String],0,16);
unsigned long num3 = strtoul([@"22" UTF8String],0,16);
unsigned long num4 = strtoul([@"01" UTF8String],0,16);
    
// 进制相加
Byte A = num1 + num2 + num3 + num4;
// 取反
Byte B = ~A;

// 转成十六进制
NSString *string = [NSString stringWithFormat:@"%0X",B];

 

转载于:https://www.cnblogs.com/Mr-Ygs/p/4876975.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值