5. Jak zamienić liczbę dziesiętną na postać dwójkową i odwrotnie?

Liczbę dziesiętną można wyświetlić w postaci dwójkowej za pomocą następującej funkcji:

Public Function Dec2Bin(Licz) As String
On Error Resume Next
Dim ret As String, reszta As Long, BufL As Long
    BufL = Licz
    If Err <> 0 Then
        ret = ""
    Else
        Do
            reszta = BufL Mod 2
            ret = reszta & ret
            BufL = BufL \ 2
            If Err <> 0 Then Exit Do
        Loop Until BufL = 0
    End If
    Dec2Bin = ret
End Function

Postać dwójkową liczby można zamienić na jej wartość dziesiętna, za pomocą następującej funkcji:

Function Bin2Dec(strB)
On Error Resume Next
Dim i%, j%, n As Long
    j = Len(strB)
    For i = 0 To j - 1
        n = n + Mid(strB, j - i, 1) * 2 ^ i
    Next i
    Bin2Dec = n
End Function

Oto przykłady użycia wymienionych funkcji:

=Dec2Bin(234)
'zwraca string 11101010

=Bin2Dec("11101010") 'lub
=Bin2Dec(11101010)
'zwraca liczbę 234

K. P.