System binarny (dwójkowy)
System dwójkowy jest pozycyjnym systemem liczbowym, w którym podstawą jest liczba 2. Do zapisu liczb są więc potrzebne tylko dwie cyfry: 0 i 1. Jak w każdym pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciągi cyfr 0 i 1, z których każda jest mnożnikiem kolejnej potęgi podstawy systemu, czyli liczby 2. Używa się go powszechnie w elektronice cyfrowej, gdzie minimalizacja liczby stanów (do dwóch) pozwala na zminimalizowanie przekłamań danych. Stąd system ten przyjął się także w informatyce.
Zapisując liczbę w systemie dwójkowym należy zaznaczyć, że jest to system binarny przez dodanie indeksu dolnego, np. 11110(2) lub 11110(B) Jeśli jest to system dziesiętny, to odpowiednio można go zaznaczyć, np. 30(10) lub 30(D). W ten sposób unika się ewentualnego błędu, gdyż na przykład liczba 11110 może występować zarówno w systemie dziesiętnym, dwójkowym, jak i innym, który poznamy później. Skoro już wiemy, jak zapisywać liczby w systemie dwójkowym, to należy wiedzieć, jak zamienić liczbę dziesiętną na binarną. Można to zrobić dwoma sposobami.
Zamiana liczby binarnej na dziesiętną
Wagi pozycji |
23 |
22 |
21 |
20 |
Cyfry zapisu |
1 |
1 |
0 |
1 |
Numery pozycji |
3 |
2 |
1 |
0 |
=1*20 +0*21+1*22 +1*23=1+0+4+8=13
Krotność wag systemu binarnego:
Krotność wagi | Wynik |
20 | 1 |
21 | 2 |
22 | 4 |
23 | 8 |
24 | 16 |
25 | 32 |
26 | 64 |
27 | 128 |
28 | 256 |
29 | 512 |
210 | 1024 |
Konwersja zapisu dziesiętnego na dwójkowy.
Istnieje prosty sposób przekształcania liczby z systemu dziesiętnego (decymalnego) na system dwójkowy (binarny):
Część całkowitą dzielimy przez 2 i spisujemy resztę (reszta może przyjąć tylko dwie wartości 0 lub 1. Jeżeli liczba jest parzysta reszta zawsze będzie równa 0 w przeciwny razie przyjmie wartość 1) ;
Przykład dla liczby x = 12
12:2=6 reszta=0
6:2=3 reszta=0
3:2=1 reszta=1
1:2=0 reszta=1
0
Wynik przepisujemy od dołu :
Liczba 12(10)= 1100(2)
II sposób:
Polega na odpowiednim wybraniu wagi – czyli wartości potęgi liczby 2 w taki sposób aby suma była równa wartości liczby przekształcanej. Wybór rozpoczynamy od wagi , która jest mniejsza od liczby przekształcanej. W miejsce odpowiadające wybranej wadze wstawiamy cyfrę 1 . Jeżeli suma dotychczas wybranych wag oraz suma wagi bieżącej jest większa od liczby zamienianej w to miejsce stawiamy cyfrę 0.
wartość | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
pozycja | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
l. binarna | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
wartość | – | 64 | 32 | – | 8 | – | – | 1 |
64+32+8+1=105(D) = 1100101(B)
Jeżeli nie jesteśmy pewni swoich obliczeń, zachęcam do skorzystania z kalkulatora na swoim komputerze, gdzie możemy sprawdzić zamianę systemów liczbowych. Aby uruchomić kalkulator klikamy „Start”-> „Uruchom” wpisujemy polecenie „Calc” klikamy enter, następnie musimy zmienić ustawienia kalkulatora. Wchodzimy w zakładkę „Widok” wybieramy polecenie „Programisty” lub korzystamy ze skrótu klawiaturowego „Alt +3”.
Gdy nasz kalkulator ma uruchomione dodatkowe funkcję wykonujemy przeliczenia. Ważne aby zaznaczyć z jakiego systemu chcemy przeliczać i na jaki, w czerwonej ramce oznaczyłem pole dzięki któremu możemy się przełączać na dany system liczbowy.
Hex – oznacza system szesnastkowy; Dec – oznacza system dziesiętny; Oct – oznacza system ósemkowy; Bin -oznacza system dwójkowy
Wady systemu dwójkowego:
System binarny jest mało czytelny dla człowieka i łatwo się nam w nim pomylić i pogubić. Na przykład dwa ciągi binarne:
1101001001001110100010100010001000101
oraz
1101001001001110100010100110001000101
Zapis liczb ujemnych wymaga stosowania dodatkowego mechanizmu.
Systemy binarne – ćwiczenia
1. Proszę o przeliczenie liczby z systemu dziesiętnego na binarny.
a) 16(10)=… (2)
b) 120(10)=… (2)
c) 0(10)=… (2)
d) 2009(10)=… (2)
e) 156(10)=… (2)
2. Proszę przeliczyć liczbę z systemu dwójkowego na system dziesiętny.
a) 10(2)=.. (10)
b) 100(2)=.. (10)
c) 110101(2)=.. (10)
d) 101010(2)=.. (10)
e) 1000000(2)=.. (10)
f) 11111111(2)=.. (10)
Źródło: Urządzenia Techniki Komputerowej T. Marciniuk
Jeżeli w dalszym ciągu coś jest nie zrozumiałe, proszę o pytania w komentarzach.
W końcu zrozumiałem zasadę zamiany systemu 2 na 10 thx:)
Nie wiedziałem, że na kalkulatorze mogę sprawdzić przeliczenia, teraz już będę pewny na 100% że nie popełniłem błędu. Dzięki na pewno będę częściej odwiedzał Tą stronę.
Pozdrawiam
Genialne. Po proszę jeszcze z systemem hexadecymalnym… Jakkolwiek się to pisze:)
System szesnastkowy już gotowy. Zapraszam
10010110(2)=?(10)
1*2^2+1*2^3+1*2^5+1*2^8=4+8+32+256=400(10)
Darek tutaj jest błąd w obliczeniu zaczynamy numerację od 0 nie od 1
59(10)=?(2)
59:2=29 r.1
29:2=14 r.1
14:2=7 r.0
7:2=3 r.1
3:2=1 r.1
1:2=0 r.1
59(10)= 111011(2)
2022(10) = ? (8)
2022 : 8 r 6
252 : 8 r 4
31 : 8 r 7
3 : 8 r 3
0
2022(10) = 3746
a) 16(10)=… (2)
16:2 r 0
8:2 r 0
4:2 r 0
2:2 r 0
1:2 r 1
16(10)= 10000(2)
Zamiana liczby binarnej na dziesiętną
1000110101(2)=?(10)
1*2^0+0*2^1+1*2^2+0*2^3+1*2^4+1*2^5+0*2^6+0*2^7+0*2^8+1*2^9=
1+0+4+0+16+32+0+0+0+512=565
Zamiana z dwójkowego na dzięsiętny
1101101(2)=64+32+8+4+1=109
1010010111(2) na (10)
1*2^0+1*2^1+1*2^2+0*2^3+1*2^4+0*2^5+0*2^6+1*2^7+0*2^8+1*2^9=
1+2+4+0+16+0+0+128+0+512=663(10)
1001010101110000(B)=?(H)
1001-9
0101-5
0111-7
0000-0
1001010101110000(B)=9570(H)
7E3D(16) = ?(10)
8E3D(16) = 13 * 16^0 + 3 * 16^1 + 14 * 16^2 + 8 * 16^3 = 13 + 48 + 3584 + 32768 = 36413(10)
75(10)
1001011(2)
10011 (2) = 1*2^0 + 1*2^1+ 1*2^4 = 1 + 2 + 16 = 19
10001111010(2) = ? (10)
10001111010(2) = 0*2^0+1*2^1+0*2^2+1*2^3+1*2^4+1*2^5+1*2^6+0*2^7+0*2^8+0*2^9+1*2^10 = 0+2+0+8+16+32+64+0+0+0+1024 = 1146(10)
513(10) = ? (2)
513:2 = 256 r 1
256:2 = 128 r 0
128:2 = 64 r 0
64:2 = 32 r 0
32:2 = 16 r 0
16:2 = 8 r 0
8:2 = 4 r 0
4:2 = 2 r 0
2:2 = 1 r 0
1:2 = 0 r 1
513(10)=1000000001(2)
01001(2) =? (10)
1*2^0 + 0*2^1 + 0*2^2 + 1*2^3 + 0*2^4 = 1+0+0+8+0=9
393(10) = (2)
393 : 2 = 196 r = 1
196 : 2 = 98 r = 0
98 : 2 = 49 r = 0
49 : 2 = 24 r = 1
24 : 2 = 12 r = 0
12 : 2 = 6 r = 0
6 : 2 = 3 r = 0
3 : 2 = 1 r = 1
1 : 2 = 0 r = 1
110001001(2) = 393 (10)
100101(2)=2^0+2^2+2^5= 37(10)
865(10)=10110001(2)
301:2 r=1
150:2 r=0
75:2 r=1
37:2 r=1
18:2 r=0
9:2 r=1
4:2 r=0
2:2 r=0
1:2 =0 r=1
101101001
d) 101010(2)=.. (10)
0*2^0+1*2^1+0*2^2+1*2^3+0*2^4+1*2^5=42(10)
zamiana liczby 2kowej na 10tną:
1011101000(2) =? (10)
0 * 2^0 + 0*2^1 + 0*2^2 + 1*2^3 + 0*2^4 +1*2^5 + 1*2^6 +1*2^7 + 0*2^8 +1*2^9 = 8+ 32 + 64+ 128 +512 = 744 (10 )
SPRAWDZENIE: 744 (10) = ?(2)
744:2 = 372 r=0
372:2 = 186 r=0
186:2 = 93 r=0
93:2 = 46 r=1
46:2 = 23 r=0
23:2 = 11 r=1
11:2=5 r=1
5:2 = 2 r=1
2:2 = 1 r=0
1:2 = 0 r=1
1011101000 zgadza się
100111010(2)=?(10)
100111010=0*2^0+1*2^1+0*2^2+1*2^3+1*2^4+1*2^5+0*2^6+0*2^7+1*2^8=2+8+16+32+256=314
75(10)=1001011(2)
75:2 r1
37:2 r1
18:2 r0
9:2 r1
4:2 r0
2:2 r0
1:2 r1
0
011011011(2) = ?(10)
011011011(2) = 1 + 2 + 8 + 16 + 64 + 128(10)
011011011(2) = 227(10)
Zamiana liczby (2) na (10)
101110001(2)=?(10)
101110001(2)=1*2^0+0*2^1+0*2^2+0*2^3+1*2^4+1*2^5+1*2^6+0*2^7+1*2^8 =1+0+0+0+16+32+64+256+0=369
Zamiana liczby (10) na (2)
369(10)=?(2)
369:2=184 r1
184:2=92 r0
92:2=46 r0
46:2=23 r0
23:2=11 r1
11:2=5 r1
5:2=2 r1
2:2=1 r0
1:2=0 r1
369(10)=101110001(2)
65 (10) =?(2)
65:2 = 32 r =1
32:2 = 16 r =0
16:2 = 8 r =0
8:2 = 4 r = 0
4:2 = 2 r =0
2:2 = 1 r =0
1:2= 0 r =1
65 (10) = 1000001 (2)