/**
*10进制转换其它进制的方法
*string1 = 10进制数
*type = 需要转换的进制类型
*/
+(NSString *)trans10HexToTypeStr:(NSString *)string1 andTypeString:(NSString *)type{
if (string1.length >= type.length) {
if ([string1 integerValue] > [type integerValue]) {
NSMutableArray *muArray;
NSMutableArray *numberArray = [[NSMutableArray alloc] init];
//第一次运算
NSArray *array = [self exceptActionString:string1 andString:type];
NSString *str1 = array[0];
NSString *str2 = array[1];
NSMutableString *muString = [[NSMutableString alloc] initWithString:str1];
NSMutableString *remainderString = [[NSMutableString alloc] initWithString:str2];
[numberArray addObject:remainderString];
//多次运算
//NSInteger i = 0;
while (muString.length >= type.length) {
//NSLog(@"除法运算:%@/%@",muString,type);
muArray = [[self exceptActionString:muString andString:type] mutableCopy];
muString = muArray[0];
remainderString = muArray[1];
[numberArray addObject:remainderString];
if([muString integerValue] < [type integerValue]){
//如果除数小于被除数
[numberArray addObject:muString];
//[muString setString:@"0"];
break;
}
}
//去掉无效的0
if (numberArray.count > 0) {
for(NSUInteger i = numberArray.count-1; i > 0;i--){
NSString *str1 = numberArray[i];
if ([str1 integerValue] == 0) {
//从首位开始如果为0 则删除
[numberArray removeObjectAtIndex:i];
}else{
break;
}
}
}
//转换处理
NSString *parma = @"0123456789abcdefghijklmnopqrstuvwxyz";
NSMutableString *decimal = [[NSMutableString alloc] init];
for (int i = 0; i < numberArray.count; i++) {
NSString *str = numberArray[i];
char cc = [parma characterAtIndex:[str integerValue]];
[decimal insertString:[NSString stringWithFormat:@"%c",cc] atIndex:0];
}
return decimal;
}else{
return @"转换失败";
}
}else{
return @"转换失败";
}
}