转载

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]; 
正文到此结束
Loading...