//二进制转10进制
NSString *base = string;
NSLog(@"%@",base);
int i = 0,j = 0;
for (int k = 0; k<base.length; k++) {
j = [[base substringWithRange:NSMakeRange(k, 1)] intValue];
j= j *powf(2, base.length-k-1);
i += j;
}
NSString *base10 = [NSString stringWithFormat:@"%d",i];
//十进制转16进制
NSString *base16 = [[NSString alloc]initWithFormat:@"%x",[base10 intValue]];
//16进制转2进制
NSMutableDictionary *hexDic = [[NSMutableDictionary alloc]initWithCapacity:16];
[hexDic setObject:@"0000" forKey:@"0"];
[hexDic setObject:@"0001" forKey:@"1"];
[hexDic setObject:@"0010" forKey:@"2"];
[hexDic setObject:@"0011" forKey:@"3"];
[hexDic setObject:@"0100" forKey:@"4"];
[hexDic setObject:@"0101" forKey:@"5"];
[hexDic setObject:@"0110" forKey:@"6"];
[hexDic setObject:@"0111" forKey:@"7"];
[hexDic setObject:@"1000" forKey:@"8"];
[hexDic setObject:@"1001" forKey:@"9"];
[hexDic setObject:@"1010" forKey:@"a"];
[hexDic setObject:@"1011" forKey:@"b"];
[hexDic setObject:@"1100" forKey:@"c"];
[hexDic setObject:@"1101" forKey:@"d"];
[hexDic setObject:@"1110" forKey:@"e"];
[hexDic setObject:@"1111" forKey:@"f"];
NSString *str = [[NSString alloc]init];
for (int i = 0; i<[base16 length]; i++) {
NSRange rage;
rage.length = 1;
rage.location = i;
NSString *key = [base16 substringWithRange:rage];
str = [NSString stringWithFormat:@"%@%@",str,[NSString stringWithFormat:@"%@",[hexDic objectForKey:key]]];
}
NSLog(@"%@",str);
//16进制转10进制
NSString * temp10 = [NSString stringWithFormat:@"%lu",strtoul([result UTF8String],0,16)]
网友评论