Function to Convert Binary to Octal:   Return to List

Public Function ConvertBinaryToOctal(BinVal As String) As String
Dim i%, Length%
Select Case (Len(BinVal) Mod 3)
    Case 1:
        BinVal = "00" + BinVal
    Case 2:
        BinVal = "0" + BinVal
End Select
Length = Len(BinVal)

For i = Length - 2 To 1 Step -3
    ConvertBinaryToOctal = GetValue(Mid(BinVal, i, 3), False) + ConvertBinaryToOctal
Next i
End Function

Private Function GetValue(strBinary As String, blnRemainder As Boolean) As String
Dim intPwrOfTwo As Integer
Dim intResult As Integer
intResult = 0
intPwrOfTwo = -1
For i = Len(strBinary) To 1 Step -1
    intPwrOfTwo = intPwrOfTwo + 1
    strChar = Mid(strBinary, i, 1)
    If strChar = "1" Then
        intResult = intResult + 2 ^ intPwrOfTwo
    End If
Next
GetValue = LTrim(Str(intResult))
End Function

See also:
Function to Convert Decimal to Hexadecimal
Function to Convert Binary to Decimal
Hexadecimal to Decimal Conversion
Octal to Decimal Conversion



Note to Webmaster