以下の例のように、10進整数を26進文字列に変換するObjective-C関数を記述する必要があります。また、それを逆にする。ObjC:数字のA〜Z文字を使用して10進数をベース26の文字列に変換する
0 = A
1 = B
2 = C
...
25 = Z
26 = AA
27 = AB
28 = AC
など
以下の例のように、10進整数を26進文字列に変換するObjective-C関数を記述する必要があります。また、それを逆にする。ObjC:数字のA〜Z文字を使用して10進数をベース26の文字列に変換する
0 = A
1 = B
2 = C
...
25 = Z
26 = AA
27 = AB
28 = AC
など
私はこの
+ (NSString *)alphaValueForNum:(int)num {
NSDictionary *charInfo = @{@"A": @0,
@"B": @1,
@"C": @2,
@"D": @3,
@"E": @4,
@"F": @5,
@"G": @6,
@"H": @7,
@"I": @8,
@"J": @9,
@"K": @10,
@"L": @11,
@"M": @12,
@"N": @13,
@"O": @14,
@"P": @15,
@"Q": @16,
@"R": @17,
@"S": @18,
@"T": @19,
@"U": @20,
@"V": @21,
@"W": @22,
@"X": @23,
@"Y": @24,
@"Z": @25};
NSString *letter = [[charInfo allKeysForObject:[NSNumber numberWithInt:(num % 26)]] lastObject]; // ((num % 26));
int remain = floor(num/26);
return (remain > 0) ? [NSString stringWithFormat:@"%@%@",[self alphaValueForNum:(remain-1)],letter] : letter;
}
あなたはベース10とベース2または小数点付きビット数にように、その変わらない26のベースとの数を作成したいと思われるしかし、あなたのモデルは、0を行方不明の欠けています
各桁には、右から左に向かって電源ベースがあります。ビットではその:
2^3 2^2 2^1 2^0
1 0 1 1
は今mulitplyパワーと合計のすべての値を持つビット:
2^3=8x1=8
2^2=4x0=0
2^1=2x1=2
2^0=1x1=1
だから、十進数で1011の値は11.あなたのベースと同じ
(仮定ですA = 0、Z = 25)は
26^2 26^1 26^0
b z z
26^2=676*b(1) =676
26^1=26 *z(25)=650
26^0=1 *z(25)=25
bzzの値= 1351
今、あなたは基礎を持っているし、あなたの方法を作成することができるはずです;-)
を行うにはrecurcivefunctionを作成しているyiouはどうなるかウルしようとしたコード –
を表示することができますか? = ABA –
ABAは次の値ではなく、サンプル値です。 –