Zdravo!
Soočam se z eno težavo v excellu, računam ene vrednosti in rezultat dobim v celici v binarni obliki dolžina 32 bitov.
10111111100010110010010111010010
to vrednost želim spremeniti v naslednji celici v hex obliko
fukcija bin2hex podpira inf do 10bitov zato ne pride v poštev. Na spletu sem našel VB modul z sledečo kodo (ki deluje do neke mere, oz za manjše vrednosti):
Function BinToHex(Binary As String)
Dim Value&, i&, Base#: Base = 1
For i = Len(Binary) To 1 Step -1
Value = Value + IIf(Mid(Binary, i, 1) = "1", Base, 0)
Base = Base * 2
Next i
BinToHex = Hex(Value)
End Function
Če je rezultat manjši od cca 7F8B25D2 zgornji modul preračuna iz BIN v HEX vrednu, če pa je preračunana vrednost višja od cca 7F8B25D2
pa mi vrže napako #vredn!
Help
Soočam se z eno težavo v excellu, računam ene vrednosti in rezultat dobim v celici v binarni obliki dolžina 32 bitov.
10111111100010110010010111010010
to vrednost želim spremeniti v naslednji celici v hex obliko
fukcija bin2hex podpira inf do 10bitov zato ne pride v poštev. Na spletu sem našel VB modul z sledečo kodo (ki deluje do neke mere, oz za manjše vrednosti):
Function BinToHex(Binary As String)
Dim Value&, i&, Base#: Base = 1
For i = Len(Binary) To 1 Step -1
Value = Value + IIf(Mid(Binary, i, 1) = "1", Base, 0)
Base = Base * 2
Next i
BinToHex = Hex(Value)
End Function
Če je rezultat manjši od cca 7F8B25D2 zgornji modul preračuna iz BIN v HEX vrednu, če pa je preračunana vrednost višja od cca 7F8B25D2
pa mi vrže napako #vredn!
Help