プロが教える店舗&オフィスのセキュリティ対策術

10進数をn進数に変換する関数のプログラムを教えてください。
できれば、最初の数は2桁以上で変換した後のn進数が16進数とか
おっきいやつでもOKなのがいいです。
お願いします

A 回答 (2件)

itoa関数じゃ駄目ですか?



char *itoa(int value, char *string, int radix);

です

stdlib.hをincludeする必要があります

valueに元の数字を、stringに変換後の文字列を格納する配列の先頭アドレスを、
radixに基数を指定します

例えば、100を16進に変換してstr[]に格納するのであれば

itoa(100,str,16);

と書きます

数字が大きい場合は、ltoaってのもあります
    • good
    • 0

n進数を表現するにはn個の数字が必要です。


そこで
0、1、2,...、9、A、B、...、Z、α、β、...
を使って、60進数くらいまでは作れそうです。

ある数kを
k=(a0)n^p + (a1)n^(p-1) + ....+(ap)
と表せば良いのですから、
(ap)はkをnで割ったときのあまり、これを上の文字の配列から選んで
ある文字で表す。
 商を、さらにnでわって
あまりをとれば、(a(p-1))がきまる。
これに対応する文字をさっきの文字の左に書く。
この時の商をさらにnで割って。

.....

これを続ける。

ただし、58進数 で 1αΒ... と言っても
ほかの人が理解してくれるかどうかは不明です。
詳しい説明が必要です。
何しろ、58進数か、59進数かは文字を見ても
判断できないのですから。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!