Poradniki

System System binarny, dziesiętny, ósemkowy i szesnastkowy czym jest i jak działa

Spisu treści:

Anonim

Jeśli jesteś studentem informatyki, elektroniki lub innej gałęzi inżynierii, jedną z rzeczy, które powinieneś wiedzieć, jest wykonywanie konwersji systemu numeracji. W informatyce stosowane systemy numerowania różnią się od tego, co tradycyjnie wiemy, podobnie jak nasz system dziesiętny. Dlatego bardzo prawdopodobne jest, że jeśli poświęcimy się zarówno komputerom, programowaniu, jak i podobnym technologiom, będziemy musieli znać najczęściej używane systemy i wiedzieć, jak przekonwertować z jednego systemu na inny.

Indeks treści

Jak przeprowadzić konwersję systemu numeracji

Szczególnie przydatna jest znajomość systemu konwersji dziesiętnej na binarną i odwrotnie, ponieważ jest to system numeracji, z którym bezpośrednio działają komponenty komputera. Ale bardzo przydatna jest również znajomość systemu szesnastkowego, ponieważ służy on na przykład do reprezentowania kodów kolorów, kluczy i dużej liczby kodów z naszego zespołu.

Systemy numeracji

System numeracji składa się z przedstawienia zestawu symboli i reguł, które pozwalają nam budować prawidłowe liczby. Innymi słowy, polega na użyciu szeregu ograniczonych symboli, dzięki którym możliwe będzie tworzenie innych wartości liczbowych bez żadnych ograniczeń.

Bez wchodzenia zbyt daleko w matematyczne terminy definicji, systemy najczęściej używane przez ludzi i maszyny będą następujące:

System dziesiętny

Jest to system numeracji pozycyjnej, w którym wielkości są reprezentowane przez bazę arytmetyczną liczby dziesięciu.

Ponieważ podstawa jest dziesiąta, będziemy mogli budować wszystkie liczby przy użyciu dziesięciu liczb, które wszyscy znamy. 0, 1, 2 3, 4, 5, 6, 7, 8 i 9. Liczby te zostaną wykorzystane do przedstawienia pozycji potęg 10 w formowaniu dowolnej liczby.

W tym systemie numeracji moglibyśmy reprezentować liczbę w następujący sposób:

Widzimy, że liczba dziesiętna jest sumą każdej wartości o podstawę 10 podniesioną do pozycji-1, którą zajmuje każdy termin. Będziemy o tym pamiętać w przypadku konwersji w innych systemach numeracji.

System binarny

System binarny to system numeracji, w którym używana jest baza arytmetyczna 2. System ten jest używany przez komputery i systemy cyfrowe wewnętrznie do przeprowadzania absolutnie wszystkich procesów.

Ten system numeracji jest reprezentowany tylko przez dwie cyfry, 0 i 1. Dlatego jest oparty na 2 (dwie cyfry), dzięki czemu zostaną zbudowane wszystkie łańcuchy wartości.

System ósemkowy

Podobnie jak w przypadku poprzednich wyjaśnień, możemy już sobie wyobrazić, co to jest o systemie ósemkowym. System ósemkowy to system numeracji, w którym używana jest podstawa arytmetyczna 8, to znaczy będziemy mieli 8 różnych cyfr reprezentujących wszystkie liczby. Będą to: 0, 1, 2, 3, 4, 5, 6 i 7.

System szesnastkowy

Zgodnie z poprzednimi definicjami system numeracji dziesiętnej jest systemem numeracji pozycyjnej opartym na liczbie 16. W tym momencie zadamy sobie pytanie, w jaki sposób uzyskamy 16 różnych liczb, jeśli na przykład 10 jest kombinacją dwóch liczb inny?

Cóż, bardzo prosto, wymyśliliśmy je, nie my, ale ci, którzy wymyślili dany system. Liczby, które tu będziemy, to: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E i F. to daje 16 różnych warunków. Jeśli kiedykolwiek ustawiłeś kod numeryczny koloru, ma on ten typ numeracji i dlatego zobaczysz, jak na przykład biel jest reprezentowana jako wartość FFFFFF. Zobaczymy później, co to oznacza.

Konwersja między systemem dwójkowym a dziesiętnym

Ponieważ jest to najbardziej podstawowy i łatwy do zrozumienia, zaczniemy od konwersji między tymi dwoma systemami numeracji.

Konwertuj liczbę z binarnej na dziesiętną

Jak widzieliśmy w pierwszej części, reprezentujemy liczbę dziesiętną jako sumę wartości pomnożoną przez potęgę 10 do zajmowanej przez nią pozycji-1. Jeśli zastosujemy to do dowolnej liczby binarnej, wraz z odpowiednią bazą, otrzymamy:

1 0 0 1 1

0

1 · 2 5 1 · 2 4 1 · 2 3 1 · 2 2 1 · 2 1

1 · 2 0

Ale oczywiście, jeśli wykonamy procedurę jak w systemie dziesiętnym, uzyskalibyśmy wartości inne niż 0 i 1, które możemy reprezentować tylko w tym systemie numeracji.

Ale właśnie to będzie bardzo przydatne do przeprowadzenia konwersji na system dziesiętny. Obliczmy wynik każdej wartości w jej polu:

1 0 0 1 1

0

1, 5 · 5 = 32

1 · 2 4 = 0 1 · 2 3 = 0 1, 2 · 2 = 4 1 · 2 1 = 2

1 · 2 0 = 0

Cóż, jeśli zrobimy sumę tych wartości wynikających z każdej komórki, otrzymamy dziesiętną równoważną wartość wartości binarnej.

Wartość dziesiętna 100110 wynosi 38

Musieliśmy tylko pomnożyć cyfrę (0 lub 1) przez jej podstawę (2) podniesioną do pozycji-1, którą zajmuje na rysunku. Dodajemy wartości i będziemy mieli liczbę dziesiętną.

Jeśli nie byłeś przekonany, przeprowadzimy teraz proces odwrotny:

Konwertuj liczbę dziesiętną na binarną

Jeśli wcześniej zrobiliśmy pomnożenie liczb i sumę w celu ustalenia wartości dziesiętnej, teraz będziemy musieli podzielić liczbę dziesiętną przez podstawę systemu, na który chcemy ją przekonwertować, w tym przypadku 2.

Będziemy przeprowadzać tę procedurę, dopóki nie będzie już możliwe przeprowadzenie dalszego podziału. Zobaczmy przykład tego, jak by to było zrobione.

Liczba

38 19 9 4 2) 1
Division

÷ 2 = 19

÷ 2 = 9 ÷ 2 = 4 ÷ 2 = 2 ÷ 2 = 1

-

Odpocznij 0 1 1 0 0

1

Jest to wynik minimalizacji kolejnych podziałów. Być może już zdałeś sobie sprawę, jak to działa. Jeśli teraz weźmiemy resztę każdego podziału i odwrócimy jego pozycję, otrzymamy wartość binarną liczby dziesiętnej. To znaczy zaczęliśmy od miejsca, w którym zakończyliśmy podział do tyłu:

Mamy więc następujący wynik: 100110

Jak widzimy, udało nam się uzyskać dokładnie taki sam numer, jak na początku tego rozdziału.

Konwersja ułamka dziesiętnego na dwójkowy

Jak dobrze wiemy, istnieją nie tylko liczby dziesiętne, ale także liczby rzeczywiste (ułamki). Jako system numeracji powinna istnieć możliwość konwersji liczby z systemu dziesiętnego na system binarny. Widzimy jak to zrobić. Weźmy jako przykład liczbę 38.375

To, co musimy zrobić, to oddzielić każdą z części. Wiemy już, jak obliczyć liczbę całkowitą, więc przejdziemy bezpośrednio do części dziesiętnej.

Procedura będzie następująca: musimy wziąć część dziesiętną i pomnożyć ją przez podstawę systemu, to znaczy 2. Wynik mnożenia musimy pomnożyć ponownie, aż otrzymamy ułamkową część 0. Jeśli podczas mnożenia pojawi się liczba frakcyjna z liczbą całkowitą, będziemy musieli wziąć tylko ułamek do następnego mnożenia. Spójrzmy na przykład, aby go lepiej zrozumieć.

Liczba

0, 375 0, 75 0, 50
Mnożenie * 2 = 0, 75 * 2 = 1, 50

* 2 = 1, 00

Cała część 0 1

1

Jak widzimy, bierzemy część dziesiętną i mnożymy ją ponownie, aż osiągniemy 1, 00, gdzie wynik będzie zawsze wynosił 0.

Wynik 38.375 w formacie binarnym wyniesie wówczas 100 110.011

Ale co się stanie, gdy w tym procesie nigdy nie uda nam się osiągnąć wyniku 1, 00? Zobaczmy przykład z 38, 45

Liczba

0, 45 0, 90 0, 80 0, 60 0, 20 0, 40 0, 80
Mnożenie * 2 = 0, 90 * 2 = 1, 80 * 2 = 1, 60 * 2 = 1, 20 * 2 = 0, 40 * 2 = 0, 80 * 2 = 1, 60
Cała część 0 1 1 1 0 0

1

Jak widzimy , od 0.80 proces staje się okresowy, to znaczy, nigdy nie zakończymy procedury, ponieważ zawsze pojawią się liczby od 0, 8 do 0, 4. Wtedy naszym wynikiem będzie przybliżenie liczby dziesiętnej, im dalej jedziemy, tym większą dokładność uzyskamy.

A zatem: 38, 45 = 100 110, 01110011001 1001

Zobaczmy, jak wykonać proces odwrotny

Konwersja ułamkowej liczby binarnej na dziesiętną

Proces ten zostanie przeprowadzony w taki sam sposób, jak normalna zmiana bazy, z tym wyjątkiem, że od przecinka moc będzie ujemna. Weźmy tylko część całkowitą poprzedniej liczby binarnej:

0 1 1 1 0 0

1

0 · 2 -1 = 0 1, 2-2 = 0, 25 1, 2-2 = 0, 125 1, 2-2 = 0, 0625 1 · 2 -5 = 0 1 · 2 -6 = 0 1, 2 · 7 = 0, 0078125

Jeśli dodamy wyniki, otrzymamy:

0, 25 + 0, 125 + 0, 0625 + 0, 0078125 = 0, 4453

Gdybyśmy nadal przeprowadzali operacje, zbliżalibyśmy się do dokładnej wartości 38, 45

Konwersja między układem ósemkowym a układem dwójkowym

Teraz zobaczymy, jak wykonać konwersję między dwoma systemami, które nie są dziesiętne, w tym celu weźmiemy system ósemkowy i system binarny i wykonamy tę samą procedurę, co w poprzednich sekcjach.

Konwertuj liczbę z binarnej na ósemkową

Konwersja między dwoma systemami numeracji jest bardzo prosta, ponieważ podstawa systemu ósemkowego jest taka sama jak w systemie dwójkowym, ale podniesiona do potęgi 3, 2 3 = 8. Na tej podstawie zamierzamy pogrupować wyrażenia binarne w trzyosobowe grupy, zaczynając od prawej do lewej i bezpośrednio przekonwertować na liczbę dziesiętną. Zobaczmy przykład z liczbą 100110:

1 0 0 1 1 0
100 110
0, 2 2 = 4 0 · 2 1 = 0 1 · 2 0 = 0 1, 2 · 2 = 4 1 · 2 1 = 2 0 · 2 0 = 0
4 6

Grupujemy co trzy cyfry i przeliczamy na dziesiętne. Wynik końcowy będzie taki, że 100110 = 46

Ale co, jeśli nie będziemy mieli doskonałych grup 3-osobowych? Na przykład 1001101, mamy dwie grupy 3 i jedną z 1, zobaczmy, jak postępować:

0 0 1 0 0 1 1 0 1
001 100 110
0, 2 2 = 0 0 · 2 1 = 0 1 · 2 0 = 1 0, 2 2 = 0 0 · 2 1 = 0 1 · 2 0 = 1 1, 2 · 2 = 4 1 · 2 1 = 0 1 · 2 0 = 1
1 1 5

Postępując zgodnie z procedurą, bierzemy grupy od prawej strony terminu i po osiągnięciu końca wypełniamy tyle zer, ile to konieczne. W tym przypadku potrzebowaliśmy dwóch, aby ukończyć ostatnią grupę. Zatem 1001101 = 115

Konwertuj liczbę ósemkową na binarną

Cóż, procedura jest tak prosta jak zrobienie czegoś przeciwnego, to znaczy przejście z binarnego na dziesiętny w grupach po 3. Zobaczmy to z liczbą 115

Wartość 1 1 5
Division ÷ 2 = 0 0 0 ÷ 2 = 0 0 0 ÷ 2 = 2 ÷ 2 = 1 -
Odpocznij 1 0 0 1 0 0 1 0 1
Grupa 001 001 101

W ten sposób widzimy, że 115 = 001001101 lub co to jest 115 = 1001101

Konwersja między systemem ósemkowym a systemem dziesiętnym

Teraz zobaczymy, jak wykonać procedurę przejścia z systemu liczb ósemkowych na dziesiętne i odwrotnie. Przekonamy się, że procedura jest dokładnie taka sama jak w przypadku systemu dziesiętnego i binarnego, tylko musimy zmienić bazę na 8 zamiast 2.

Procedury przeprowadzimy bezpośrednio na warunkach z częścią ułamkową.

Konwertuj liczbę dziesiętną na ósemkową

Postępując zgodnie z procedurą dziesiętno-binarną, przeprowadzimy ją na przykładzie 238, 32:

Cała część Dzielimy przez podstawę, która wynosi 8:

Liczba 238 29 3)
Division ÷ 8 = 29 ÷ 8 = 3 -
Odpocznij 6 5 3)

Część dziesiętna mnożymy przez podstawę, która wynosi 8:

Liczba 0, 32 0, 56 0, 48 0, 84 0, 72
Mnożenie * 8 = 2, 56 * 8 = 4, 48 * 8 = 3, 84 * 8 = 6, 72 * 8 = 5, 76
Cała część 2) 4 3) 6 5

Otrzymany wynik jest następujący: 238, 32 = 356, 236565…

Konwertuj liczbę ósemkową na dziesiętną

Więc zróbmy odwrotny proces. Przekażmy liczbę ósemkową 356, 243 na dziesiętną:

3) 5 6 , 2) 4 3)
3, 8 2 = 192 5 · 8 1 = 40 6 · 2 0 = 6 2 · 8 -1 = 0, 25 4 · 8 -2 = 0, 0625 3, 8-3 = 0, 005893

Wynik to: 192 + 40 + 6, 0, 25 + 0, 0625 + 0, 005893 = 238, 318

Konwersja między systemem szesnastkowym a dziesiętnym

Następnie kończymy procesem konwersji między szesnastkowym systemem numeracji a systemem dziesiętnym.

Konwertuj liczbę dziesiętną na szesnastkową

Postępując zgodnie z procedurą dziesiętno-binarną i dziesiętno- ósemkową, przeprowadzimy ją na przykładzie 238, 32:

Cała część Dzielimy przez podstawę, która wynosi 16:

Liczba 238 14
Division ÷ 16 = 14 -
Odpocznij E E

Część dziesiętna mnożymy przez podstawę, która wynosi 16:

Liczba 0, 32 0, 12 0, 92 0, 72 0, 52
Mnożenie * 16 = 5, 12 * 16 = 1, 92 * 16 = 14, 72 * 16 = 11, 52 * 16 = 8, 32
Cała część 5 1 E B. 8

Otrzymany wynik jest następujący: 238, 32 = EE, 51EB8…

Konwertuj liczbę z szesnastkowej na dziesiętną

Więc zróbmy odwrotny proces. Przepuśćmy liczbę szesnastkową EE, 51E na dziesiętną:

E E , 5 1 E
E16 1 = 224 E · 16 0 = 14 5 · 16 -1 = 0, 3125 1, 16 -2 = 0, 003906 E16 -3 = 0, 00341

Wynik to: 224 + 14, 0, 3125 + 0, 003906 + 0, 00341 = 238, 3198…

To są główne sposoby na zmianę bazy z jednego systemu numeracji na inny. System ma zastosowanie do systemu w dowolnej bazie i systemie dziesiętnym, chociaż są one najczęściej używane w dziedzinie komputerów.

Możesz być także zainteresowany:

Jeśli masz jakieś pytania, zostaw je w komentarzach. Postaramy się ci pomóc.

Poradniki

Wybór redaktorów

Back to top button