Zamiana liczb z systemu dziesiętnego na szesnastkowy Drukuj Email
Ocena użytkowników: / 31
SłabyŚwietny 
Wpisany przez Berl   
czwartek, 06 listopada 2008 14:13

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;
 
 

Statystyka

Użytkowników : 41
Artykułów : 76
Odsłon : 92471

Gościmy

Naszą witrynę przegląda teraz 2 gości 

Chmura tagów

delphi MySQL dziesiętny WHERE SendMessage Delphi rot-13 cezara binarny system forma WM_SYSCOMMAND ReleaseCapture SET windows szyfrowanie zamiana liczb FROM edytor zmienne