第24講 10進数をn進数に翻訳する
第6話 文字型に変換なしで翻訳するソフト
コード例
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)
cn = cn + 1
If x > 0 Then
f = 10 * f(x, n) + a
Else
f = a
End If
End Function
Private Sub CommandButton2_Click()
Cells(10, 3).Select
Selection.ClearContents
End Sub
実行例
実現に成功しています。
ただし、
はすでに限界を超えています。
上の答えは明らかに正しくありません。
奇数ですから一の位は1でなければなりませんから。
文字型へ変換する版より限界が小さいわけです。
Longの限界ですから仕方がありません。
さて、第25講では反対にn進数を10進数に変換することを考えましょう。
第5話へ 第25講第1話
VBA講義第1部へ
vc++講義へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
数学研究室に戻る