Komputery działają w oparciu o bardzo prostą zasadę: wszystko sprowadza się do liczb, a dokładniej do zapisu w systemie binarnym.
Nie ma znaczenia, czy:
każda z tych informacji w pamięci komputera ma postać ciągu zer i jedynek.
Dzieje się tak dlatego, że urządzenia elektroniczne operują na dwóch stanach:
Te dwa stany są idealnie odwzorowywane przez cyfry:
Najmniejszą jednostką informacji jest bit, który może przyjąć wartość:
Ponieważ pojedynczy bit jest bardzo mało użyteczny, w praktyce używa się większych jednostek:
Bajt pozwala zapisać np.:
Współczesne systemy operują na wielokrotnościach bajtów:
Na co dzień korzystamy z systemu dziesiętnego:
Jest to system pozycyjny, co oznacza, że znaczenie cyfry zależy od jej miejsca.
235 = 2·100 + 3·10 + 5·1
Każda pozycja odpowiada potędze liczby 10:
System binarny jest również systemem pozycyjnym, ale:
Każda pozycja odpowiada potędze liczby 2:
| Pozycja | Wartość |
|---|---|
| 0 | 2⁰ = 1 |
| 1 | 2¹ = 2 |
| 2 | 2² = 4 |
| 3 | 2³ = 8 |
| 4 | 2⁴ = 16 |
Każda liczba binarna to suma wybranych potęg liczby 2.
111 = 1·4 + 1·2 + 1·1 = 7
Każda cyfra mówi:
1101101₂ = 1·2⁶ + 1·2⁵ + 0·2⁴ + 1·2³ + 1·2² + 0·2¹ + 1·2⁰ = 64 + 32 + 0 + 8 + 4 + 0 + 1 = 109
Idea: dzielimy liczbę przez 2 i zapisujemy reszty.
Przykład – liczba 123
| Liczba | Iloraz | Reszta |
|---|---|---|
| 123 | 61 | 1 |
| 61 | 30 | 1 |
| 30 | 15 | 0 |
| 15 | 7 | 1 |
| 7 | 3 | 1 |
| 3 | 1 | 1 |
| 1 | 0 | 1 |
Wynik: 123 = 1111011₂
5 / 2 = 2.5 5 // 2 = 2 5 % 2 = 1
lista = [1, 2, 3]
for element in reversed(lista):
print(element)
cyfry = [0,0,0,0,0,0,0,0]
liczba = int(input("Podaj liczbę: "))
cyfry[7] = liczba % 2
iloraz = liczba // 2
i = 1
while iloraz > 0 and i < 8:
cyfry[7-i] = iloraz % 2
iloraz = iloraz // 2
i = i + 1
for cyfra in cyfry:
print(cyfra, end="")
Przykład:
Informatyka to zarządzanie liczbami zapisanymi w systemie binarnym.