Prevádzanie medzi číselnými sústavami
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Prevádzanie medzi číselnými sústavamiPrevádzanie medzi číselnými sústavami

 
Hledat
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Laser Game Ostrava

Prevádzanie medzi číselnými sústavami

Google       Google       12. 6. 2005       13 127×

Keď som pred pár týždňami robil kalkulačku, ktorá podporuje prevody medzi číselnými sústavami bol som velmi prekvapený, keď som vo Visual Basicu nenašiel skoro žiadne funkcie na tieto prevody. Jedinú funkciu čo som našiel je funkcia Hex. Táto funkcia slúži na prevod z desiatkovej do šestnástkovej (hexadecimálnej) sústavy. Kedže som potreboval aj iné funkcie, tak mi neostávalo nič iné, ako naprogramovať si ich. Rozhodol som sa napísať ich tu, lebo sa môžu hodiť každému programátorovi...

Reklama
Reklama

Ako som už spomínal, na prevedenie z desiatkovej do hexadecimálnej slúži príkaz Hex. Pri prevedení z binárnej do hexadecimálnej treba najskôr previesť číslo do desiatkovej a až potom do hexadecimálnej. Funkcie na prevedenie do osmičkovej sústavy som sem nenapísal, lebo táto sústava sa velmi nepoužíva. Ale ak by mal niekto záujem tak mu ich môžem poslať.

Z desiatkovej do binárnej sústavy:

Function DecBin(Cislo As Long) As String
Dim i As Integer
While Cislo <> 0
DecBin = Cislo Mod 2 & DecBin
If Cislo Mod 2 = 0 Then
Cislo = Cislo / 2
Else
Cislo = (Cislo - 1) / 2
End If
Wend
End Function

Msgbox DecBin(25)

Z binárnej do desiatkovej sústavy:

Function BinDec(Cislo As String) As Long
Dim i As Integer
Dim X as Long
For i = 0 To Len(Cislo) - 1
If Right(Cislo, 1) = "0" Then X = X + 0 * 2 ^ i
If Right(Cislo, 1) = "1" Then X = X + 1 * 2 ^ i
Cislo = Left(Cislo, Len(Cislo) - 1)
Next i
BinDec = X
End Function

MsgBox BinDec(10011)

Z hexadecimálnej do desiatkovej:

Function HexDec(Cislo As String) As Long
Dim i As Integer
Dim X as Long
Cislo = LCase(Cislo)
For i = 0 To Len(Cislo) - 1
If Right(Cislo, 1) = "a" Then X = X + 10 * 16 ^ i
If Right(Cislo, 1) = "b" Then X = X + 11 * 16 ^ i
If Right(Cislo, 1) = "c" Then X = X + 12 * 16 ^ i
If Right(Cislo, 1) = "d" Then X = X + 13 * 16 ^ i
If Right(Cislo, 1) = "e" Then X = X + 14 * 16 ^ i
If Right(Cislo, 1) = "f" Then X = X + 15 * 16 ^ i
If Right(Cislo, 1) < 10 Then X = X + Right(Cislo, 1) * 16 ^ i
Cislo = Left(Cislo, Len(Cislo) - 1)
Next i
HexDec = X
End Function

Msgbox HexDec("4f2b")






×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

3 názory  —  3 nové  
Hlasování bylo ukončeno    
0 hlasů
Google
Autor programuje ve VB, mezi jeho další koníčky patří fyzika a matematika.

Nové články

Obrázek ke článku Využití .htaccess na malém webu

Využití .htaccess na malém webu

V dnešní době existuje spoustu cms, které mnohdy ale vůbec nepotřebujeme a stačila by nám pouze základní funkčnost k úpravě url, přesměrování. K tomuto účelu je ideální .htaccess soubor, který nám se všemi těmato úpravami umí pomoct.

Reklama
Reklama
Obrázek ke článku Češi tlačí obce do otevřené komunikace – Mobilní Rozhlas si loni pořídilo dalších 171 měst a obcí

Češi tlačí obce do otevřené komunikace – Mobilní Rozhlas si loni pořídilo dalších 171 měst a obcí

Obyvatelé Česka se mnohem více zapojují do veřejného dění. Umožňují jim to přímo samosprávy, které stále častěji využívají nástroje takzvané chytré komunikace a participace. Dokládají to data za rok 2019 ekosystému Mobilní Rozhlas, lídra v oblasti chytré obecní komunikace. Zapojilo se do něj 171 nových měst a obcí, zaregistrovalo celkem 100 tisíc občanů a místní samosprávy jeho prostřednictvím rozeslaly třikrát více adresných zpráv než v roce 2018

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý