Imports System
Imports System.Text
Public Class DecimalToBase12
' Converts a decimal number to base-12 and returns it as a string
Public Shared Function DecimalToBase12(decimalNumber As Integer) As String
If decimalNumber = 0 Then Return "0"
Dim base12 As New StringBuilder()
Dim digits As Char() = "0123456789AB".ToCharArray() ' Base-12 digits (A = 10, B = 11)
While decimalNumber > 0
Dim remainder As Integer = decimalNumber Mod 12
base12.Append(digits(remainder))
decimalNumber \= 12
End While
' Reverse to get the correct order
Dim reversed As Char() = base12.ToString().ToCharArray()
Array.Reverse(reversed)
Return New String(reversed)
End Function
Public Shared Sub Main()
Dim decimalNumber As Integer = 100
Dim base12Number As String = DecimalToBase12(decimalNumber)
Console.WriteLine("Base-12 representation: " & base12Number)
decimalNumber = 19621
base12Number = DecimalToBase12(decimalNumber)
Console.WriteLine("Base-12 representation: " & base12Number)
End Sub
End Class
' run:
'
' Base-12 representation: 84
' Base-12 representation: B431
'