[N進数に変換する]
引数で指定された値を、指定された「進数」で表示します。
8進数と16進数への変換は関数が用意されていますが、その他の進数への変換する関数は無いので、関数を作成してみました。
36進数まで対応しています。
【ソースコード】
[tips0014.vbs]
Option Explicit
Function HenkanI2N(ByVal lngValue, ByVal lngTei)
Dim str36(36)
Dim lngLoop
Dim lngDec
Dim lngSur
Dim strAfter
For lngLoop = 0 To 9
str36(lngLoop) = lngLoop
Next
For lngLoop = 10 To 35
str36(lngLoop) = Chr(97 + (lngLoop - 10))
Next
lngDec = lngValue
Do While lngDec > 0
lngSur = lngDec Mod lngTei
strAfter = strAfter & str36(lngSur)
lngDec = Int(lngDec / lngTei)
Loop
HenkanI2N = StrReverse(strAfter)
End Function
Dim lngValue
Dim lngTei
If WScript.Arguments.Count = 2 Then
lngValue = WScript.Arguments.Item(0)
lngTei = WScript.Arguments.Item(1)
If (lngTei >= 2) And (lngTei <= 36) Then
WScript.Echo lngValue & "は" & _
lngTei & "進数で" & HenkanI2N(lngValue, lngTei) & "です。"
Else
WScript.Echo "進数は2〜36を指定してください。"
End If
Else
WScript.Echo "変換する数値と進数を指定してください。"
End If
【実行結果】
C:\> cscript //NoLogo tips0014.vbs 250 2
250は2進数で11111010です。
C:\> cscript //NoLogo tips0014.vbs 250 36
250は36進数で6yです。