www.mamboteam.com
Project1.pl Advertisement
Start arrow Artykuły arrow Algorytmy arrow Zamiana liczb z systemu dziesiętnego na szesnastkowy
czwartek, 09 wrzesień 2010
 
 
Menu główne
Start
Artykuły
FAQ
Download
Kontakt
Ciekawe linki
Mapa serwisu
Logowanie





Zapomniałeś hasła?
Nie masz konta? Załóż sobie
Zamiana liczb z systemu dziesiętnego na szesnastkowy Drukuj E-mail
Oceny: / 9
KiepskiBardzo dobry 
Napisał: Berl   
czwartek, 06 listopad 2008
Szesnastkowy system liczbowy (znany jako hex) – pozycyjny system liczbowy, w którym podstawą pozycji są kolejne potęgi liczby 16. Do zapisu liczb potrzebne jest szesnaście znaków. Poza cyframi dziesiętnymi od 0 do 9 używa się pierwszych sześciu liter alfabetu łacińskiego: A, B, C, D, E, F.




Aby zamienić liczbę dziesiętną na system szesnastkowy, musimy tą liczbę dzielić przez 16, i zapisywać resztę w postaci szesnastkowej. Następnie wynik dzielenia też dzielimy przez 16 i tak do momentu, kiedy wynik jest mniejszy od 16 :
1000 : 16 = 62, reszta 8, hex 8
62 : 16 = 3, reszta 14, hex E
3 : 16 = 0, reszta 3, hex 3
Następnie wynik zapisujemy od końca.

Zaimplementowany algorytm wygląda następująco:
 
function dec2hex(dec : integer):string;
var
    hex : string;
begin
    while dec > 0 do begin
        if (dec mod 16) <> 0 then begin
            case (dec mod 16) of
                1 : hex := hex + '1';
                2 : hex := hex + '2';
                3 : hex := hex + '3';
                4 : hex := hex + '4';
                5 : hex := hex + '5';
                6 : hex := hex + '6';
                7 : hex := hex + '7';
                8 : hex := hex + '8';
                9 : hex := hex + '9';
                10 : hex := hex + 'A';
                11 : hex := hex + 'B';
                12 : hex := hex + 'C';
                13 : hex := hex + 'D';
                14 : hex := hex + 'E';
                15 : hex := hex + 'F';
        end;
        end else hex := hex + '0';
        dec := dec div 16;
    end;
    for dec := length(hex) downto 0 do
        result := result + hex[dec];
end;
Komentarze

Aby dodać komentarz zaloguj się. Jeśli nie masz konta, załóż je sobie.
Tylko zarejestrowani użytkownicy mogą pisać komentarze.

 
wstecz   dalej »
LINKUJ PRO
Gościmy
Odwiedza nas 10 gości
Licznik odwiedzin
117620
 
Góra Góra