- (NSString *) turn10to16:(NSString *)str{
int num = [str intValue];
NSMutableString * result = [[NSMutableString alloc]init];
while (num > 0) {
int a = num % 16;
char c;
if (a > 9) {
c = 'A' + (a - 10);
}else{
c = '0' + a;
}
NSString * reminder = [NSString stringWithFormat:@"%c",c];
[result insertString:reminder atIndex:0];
num = num / 16;
}
return [result autorelease];
}
- (NSString *) turn10to2:(NSString *)str{
int num = [str intValue];
NSMutableString * result = [[NSMutableString alloc]init];
while (num > 0) {
NSString * reminder = [NSString stringWithFormat:@"%d",num % 2];
[result insertString:reminder atIndex:0];
num = num / 2;
}
return [result autorelease];
}
- (NSString *) turn2to10:(NSString *)str{
int sum = 0;
for (int i = 0; i < str.length; i++) {
sum *= 2;
char c = [str characterAtIndex:i];
sum += c - '0';
}
return [NSString stringWithFormat:@"%d",sum];
}
- (NSString *) turn16to10:(NSString *)str{
int sum = 0;
for (int i = 0; i < str.length; i++) {
sum *= 16;
char c = [str characterAtIndex:i] ;
if (c >= 'A') {
sum += c - 'A' + 10;
}else{
sum += c - '0';
}
}
return [NSString stringWithFormat:@"%d",sum];
}
iOS開發之進制轉換
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.