Konwersja liczb
- Bartek
- 3 kwi 2016
- 2 minut(y) czytania
W mikrokontrolerach bardzo często wykorzystujemy zapis licb w postaci heksadecymalnym, dlatego powinniśmy go poznać.
Tabelka wartości:
Decymalnie | Binarnie | Heksadecymalnie
0 | 0000 | 0
1 | 0001 | 1
2 | 0010 | 2
3 | 0011 | 3
4 | 0100 | 4
5 | 0101 | 5
6 | 0110 | 6
7 | 0111 | 7
8 | 1000 | 8
9 | 1001 | 9
10 | 1010 | a
11 | 1011 | b
12 | 1100 | c
13 | 1101 | d
14 | 1110 | e
15 | 1111 | f
Dzięki tej tabelce możemy w łatwy sposób przechodzić między wartościami w różnych systemach liczbowych.
Np. liczba 133 zamieńmy ją na system binarny.
1) największą liczbą z podstawą liczby 2 jest i mieszcząca się w 133, jest liczba 128.
2) 128 jest równe 2 do potęgi 7, czyli 8 bit, poniewaz w systemie binarnym zaczynamy od potęgowania do 0.
3) wiemy że do zapisu tej liczby potrzebujemy 8 bitów.
i teraz postępujemy według schemtu (pierwsza koluman oznacza kolejną potęgę dwójki, druga kolmmna oznacza wartość w tej potędze), jeśli liczba którą chcemy zapisać w postaci binarnej mieści się danej liczbie to stawiamy 1 i odejmujemy od liczby którą zapisuujemy i tak dla 133 wygląda następująco:
7|128|1 =>133-128=5
6|64 |0
5|32 |0
4|16 |0
3|8 |0
2|4 |1 =>5-4=1
1|2 |0
0|1 |1
4) liczba 133 w postaci binarnej to : 1000 0101 i zamieniając to na hexa daje to : 85
Inny sposób zamiany liczb to wykorzystanie kalkulatora systemowego który konwertuje liczby w różnych systemach, jednak aby go uruchomić w ten sposób należy wejść w tryb programistyczny. Poniżej dwa zdjęcia pokazują postępowanie aby zmienić ten tryb


I aby zamienić liczbę dziesiętną musi być zaznaczona opcja Dec, wpisujemy liczbę i klikamy format na który chcemy aby była ona zamieniona, np. Hex w kalkulatorze zostanie ona przekonwertowana. Podobnie możemy konwertować w różną stronę.
Comments