|
Konwersja Int To Hex
Często zachodzi potrzeba konwersji z jednego systemu liczbowego na inny. Powszechnie w informatyce jest stosowany system dwójkowy, tj. system o podstawie 2. Inne często spotykane systemy liczbowe to szesnastkowy (o podstawie 16) i osemkowy.
W tej lekcji trochę o konwersji między systemami liczbowymi. Odnosi się ona zarówno do "czystego" C jak i C++.
Zaczynamy.
Pomocną funkcją będzie char *itoa(int value, char *string, int radix) która służy do konwertowania wartości typu int na char. Konwersja może być przeprowadzona na dowolny system liczbowy, to zależy od podstawy systemu liczbowego radix.
Następną przydatną funkcją będzie AnsiString IntToHex(int Value, int Digits) gdzie: Value to liczba poddawana konwersji Digits, zakres nowego systemu liczbowego (liczba znaczących cyfr)
Przykład Aby używać tej funkcji należy dołączyć nagłówek biblioteki
Na formę kładziemy dwa komponenty Label oraz jeden Button. W zdarzeniu OnClick wpisujemy
int a = 250;// liczbą którą konwertujemy char buffer[10];// w tej tablicy znakowej będzie umieszczony wynik konwersji itoa(a, buffer, 16);// konwersja na system szesnastkowy
String numeric = "0x" + UpperCase(buffer);// sklejanie znaków oraz zamiana Label1->Caption = numeric;// na duże litery
String b = IntToHex(a, 2);// sposób z wykorzystaniem biblioteki VCL Label2->Caption = b;
|
|
|
Odsłony: 4068
|