第24講 10進数をn進数に翻訳する
第4話 10進数をn進数に翻訳するソフト解答例

コード例
Private Sub CommandButton1_Click()
  Dim x As Long, n As Integer
  x = Cells(8, 3)
  n = Cells(8, 5)
  Cells(10, 3) = f(x, n)
End Sub
Function f(x As Long, n As Integer)
  Dim a As Integer
  a = x Mod n
  x = Int(x / n)
  If x > 0 Then
    f = f(x, n) + Str(a)
  Else
    f = Str(a)
  End If
End Function
Private Sub CommandButton2_Click()
  Cells(10, 3).Select
  Selection.ClearContents
End Sub
実行例
入門
解説
f = f(x, n) + Str(a)と足す順番が逆なのは、新しい方=現在の人形のデータを右にするためです。
f(x, n) は自分の内側の人形が返してきたデータです。
例で説明すると、
2進数
自分より内側の人形が100としてきたのに対して、その右に1と加えて1001としているわけです。



実は、逆順にするのに文字に変換しましたが、
変換しないで逆順を実現する方法があります。




第3話へ 第5話へ

004
  


VBA講義第1部へ
vc++講義へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ

数学研究室に戻る