0
我正在做一個二進制轉換器爲iPhone,並轉換我從基地X到其它基數的數字使用此方法:爲unsigned long long值範圍
+(NSString*)FromXToOtherBase:(unsigned long long)base number:(unsigned long long)number
{
unsigned long long temp_risu=number;
//int i=0;
//base is the destination base
NSMutableArray*rest=[[NSMutableArray alloc] init];
while(temp_risu!=0)
{
NSNumber*rest_=[NSNumber numberWithLongLong:(temp_risu%base)];
[rest addObject:rest_];
temp_risu=temp_risu/base;
rest_=Nil;
}
NSMutableArray*rest_reverse=[[NSMutableArray alloc] init];
for(int i=[rest count]-1;(i>-1);i--)
{
[rest_reverse addObject:[rest objectAtIndex:i]];
}
return [rest_reverse componentsJoinedByString:@""];
}
這種方法的作品,但是當數變大和更大的我有問題的無符號long long類型的範圍和轉換變得不可靠。 我該如何解決這個問題?
這很奇怪......如果你說轉換變得不可靠,那麼你的代碼不健壯。你的代碼必須是可靠的,如果有一個條件不能處理,它應該會產生一個錯誤。 – Merlevede
「不可靠」意味着當我轉換大數字(例如1111111111)時,轉換不正確,但如果我刪除一個數字(111111111),則轉換是正確的。因爲這個原因,我認爲這是一個表示問題 – Alessio
你轉換你的大號碼到哪個基地? – Merlevede