Imports System
Imports System.Text
Module BaseConvert
Function ToBase(n As Integer, baseValue As Integer) As String
Const digits As String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
If baseValue < 2 OrElse baseValue > 36 Then
Throw New ArgumentException("Base must be between 2 and 36")
End If
If n = 0 Then
Return "0"
End If
Dim sb As New StringBuilder()
While n > 0
Dim remainder As Integer = n Mod baseValue
sb.Append(digits(remainder))
n \= baseValue
End While
' Reverse the string
Dim chars() As Char = sb.ToString().ToCharArray()
Array.Reverse(chars)
Return New String(chars)
End Function
Sub Main()
Dim number As Integer = 255
Console.WriteLine($"{number} in base 2 = {ToBase(number, 2)}")
Console.WriteLine($"{number} in base 8 = {ToBase(number, 8)}")
Console.WriteLine($"{number} in base 16 = {ToBase(number, 16)}")
Console.WriteLine($"{number} in base 36 = {ToBase(number, 36)}")
End Sub
End Module
' run:
'
' 255 in base 2 = 11111111
' 255 in base 8 = 377
' 255 in base 16 = FF
' 255 in base 36 = 73
'