トピック

16進数変換とか作り方教えてください

10進数を16進数に変換や16進数を10進数に変換できるプログラムの作り方を教えてください
2そうだね
プレイ済み
返信[1]
親投稿
HEX$() VAL()…何進数かを示す符号を入れると10進以外も使える(&h:16進 &:b2進)
5そうだね
プレイ済み
返信[2]
親投稿
みむ*mim hidemimtp
勉強のために自作したいとか言うと、何人も食いつきます。
3そうだね
プレイ済み
返信[3]
親投稿
(2~36進数まで対応した変換命令を作ると便利かもしれない)
4そうだね
プレイ済み
返信[4]
親投稿
しんのす Made-in-ooo
役に立つかどうかはわかりませんが、 10進数 の数値を 2進数 にするイメージ図をかいてみました! 2進数以外にするときも、イメージ図の「2」の数字を違うものにするとうまくいくと思います!
2そうだね
プレイ済み
返信[5]
親投稿
しんのす Made-in-ooo
ついでに 16進数で書かれたテキスト を 数値 にするイメージも貼っておきます。 16進数以外のテキストを数値にするときは、イメージ図の「16」を違う数字に変えるとうまくいきます。 これをマスターすると、「どんな進数でも好きな進数に変えられる万能命令」が作れるかもしれません!
1そうだね
プレイ済み
返信[6]
親投稿
しんのす Made-in-ooo
イメージ図(10進数→2進数)の訂正 ・計算ミスを修正 ・2進数の出力が逆なのを修正 もうひとつのイメージ図(16進数→10進数)にも計算ミスがありました…。 よって答えが 6700ではなく 6750になります。
1そうだね
プレイ済み
返信[7]
親投稿
Ϊċăņ ďо įт hikahikaru3
あまさとしおん>>どうせなら62進数まで(( 10進→16進:HEX$(数値) または FORMAT$("%X",数値) 16進→10進:VAL("&H"+16進文字列) ※この方法だと-2^31から2^31-1までの整数しか変換できない。それ以上の場合、実数を扱いたい場合は自作する必要あり。
1そうだね
未プレイ
返信[8]
親投稿
beans taku-binzu
確か「10進法をX進法で表す」というのは高校の数学Aで学ぶとかなんとかで・・・ 既に上にて書かれていますが一応「10進法をX進法で表す方法」は単純に「X進法で表したい数をXで割っていき、出てきた余りを逆から並べる」だけでできます。 例1:「13を2進法で表す」 13÷2=6余り1 6÷2=3余り0 3÷2=1余り1 1÷2=0余り1 よって余りの数を逆から並べて「1101」 例2:「13を3進法で表す」 13÷3=4余り1 4÷3=1余り1 1÷3=0余り1 よって例1と同じようにして答えは「111」 間違いがありましたら訂正お願い致します。
1そうだね
プレイ済み
返信[9]
親投稿
beans taku-binzu
<追記> すいません。説明が少し不十分でした。先程教えた方法だと、「11進法以降」の進法を表すとき少々ボロが出てしまいます。(余りの数が10を超えてしまうから) 11進法以降は「自分で新しい数字を作る」必要があります。(16進法の「A」などのように。ポケモンさんが既にご存じでしたらすいません。) 16進数の変換でしたらあまさと しおんさんが仰るようにプチコン3号にその為の機能がありますのでそちらを利用なさるといいと思います。 ただ、自作なさりたい場合は2~36進法であったらまだ作れるかもしれないです。 37進法以降はアルファベットを全て使いきってしまっているので(36進法で「35=Z」となってしまう)難しいと思います。(私は分かりません(笑))
0そうだね
プレイ済み
返信[10]
親投稿
かおなし SYO-YU-KOTO
プログラム向きではないかもだけど各桁の「重み」を使うってのもあった気がする 当たり前だけど634って数は(6x100)+(3x10)+(4x1)、つまり1の位10の位っていうのは1が何個ある10が何個あるということを示しています 同様に他の進数にも位はあるんだけど位の単位が違う(例えば2進数なら1,24,8,16,32,64の位と増えていく) この位の数は、n進数の場合nの累乗(その数を何回掛けたか)で出ます ただこの方法はプログラムよりも人力計算の方が向いていると思います(2進数以外が面倒だから)
0そうだね
プレイ済み