Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11723 / 13645 ツリー ←次へ | 前へ→

【14535】十進数を二進数に変える方法 ron 04/6/1(火) 0:42 質問[未読]
【14537】Re:十進数を二進数に変える方法 ichinose 04/6/1(火) 7:49 発言[未読]

【14535】十進数を二進数に変える方法
質問  ron  - 04/6/1(火) 0:42 -

引用なし
パスワード
   Sub 十進数を二進数に()
  x = Cells(1, 2).Value
  Do While (x >= 0)
    Cells(1, 3).Value = a
    a = x Mod 2
  Loop
  a = Cells(1, 3).Value
End Sub


これを実行するとxを2で割った余りが出てきてしまいます。
余り0になるまで割って、十進数(x)を二進数(a)に変え
たいのですが、やり方を教えていただければ幸いです。

【14537】Re:十進数を二進数に変える方法
発言  ichinose  - 04/6/1(火) 7:49 -

引用なし
パスワード
   ▼ron さん:
おはようございます。

結果がほしいだけならDec2Binという関数がありますが・・・。

VBAの練習問題だとして、
>余り0になるまで割って、十進数(x)を二進数(a)に変え
>たいのですが、

「余りが0になるまで」ではなく、「商が0になるまで」だと思いますよ。
例として、10進数の4が2進数の「100」になる計算方法を再度考えてみて下さい。

  4 ÷ 2=商 2  余り 0
  2 ÷ 2=商 1  余り 0
  1 ÷ 2=商 0  余り 1

この余りの結果を下から上に繋いで「100」でしたよね?


商を求める演算子は、「\」です。
↓沢山、直すところがあると思います。

>Sub 十進数を二進数に()
>  x = Cells(1, 2).Value
>  Do While (x >= 0)
>    Cells(1, 3).Value = a
>    a = x Mod 2
>  Loop
>  a = Cells(1, 3).Value
>End Sub

11723 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free