Systemy liczb naturalnych. Mały Wydział Matematyki

Systemy liczb naturalnych. Mały Wydział Matematyki

13.02.2024
Cel usługi. Usługa ma na celu konwersję liczb z jednego systemu numerycznego na inny online. W tym celu wybierz bazę układu, z którego chcesz przeliczyć liczbę. Można wprowadzać zarówno liczby całkowite, jak i liczby z przecinkami.

Można wprowadzić zarówno liczby całkowite, na przykład 34, jak i liczby ułamkowe, na przykład 637,333. W przypadku liczb ułamkowych wskazana jest dokładność tłumaczenia po przecinku.

W tym kalkulatorze używane są również następujące elementy:

Sposoby przedstawiania liczb

Dwójkowy liczby (binarne) - każda cyfra oznacza wartość jednego bitu (0 lub 1), bit najbardziej znaczący jest zawsze zapisywany po lewej stronie, po liczbie umieszczana jest litera „b”. Aby ułatwić postrzeganie, notesy można oddzielić spacjami. Na przykład 1010 0101b.
Szesnastkowy liczby (szesnastkowe) - każda tetrada jest reprezentowana przez jeden symbol 0...9, A, B, ..., F. Reprezentację tę można oznaczać na różne sposoby, tutaj stosuje się jedynie symbol „h” po ostatniej liczbie szesnastkowej cyfra. Na przykład A5h. W tekstach programów ten sam numer można oznaczyć jako 0xA5 lub 0A5h, w zależności od składni języka programowania. Zero wiodące (0) jest dodawane po lewej stronie najbardziej znaczącej cyfry szesnastkowej reprezentowanej przez literę, aby rozróżnić liczby od nazw symbolicznych.
Dziesiętny liczby (dziesiętne) - każdy bajt (słowo, słowo podwójne) jest reprezentowany przez zwykłą liczbę, a znak reprezentacji dziesiętnej (litera „d”) jest zwykle pomijany. Bajt w poprzednich przykładach ma wartość dziesiętną równą 165. W przeciwieństwie do notacji binarnej i szesnastkowej, w zapisie dziesiętnym trudno jest mentalnie określić wartość każdego bitu, co czasami jest konieczne.
ósemkowy liczby (ósemkowe) - każda trójka bitów (dzielenie zaczyna się od najmniej znaczącego) jest zapisywana jako liczba 0–7 z „o” na końcu. Tę samą liczbę można zapisać jako 245o. System ósemkowy jest niewygodny, ponieważ bajtu nie można podzielić równo.

Algorytm konwersji liczb z jednego systemu liczbowego na inny

Konwersja liczb dziesiętnych na dowolny inny system liczbowy odbywa się poprzez podzielenie liczby przez podstawę nowego systemu liczbowego, aż reszta pozostanie liczbą mniejszą niż podstawa nowego systemu liczbowego. Nową liczbę zapisuje się jako resztę z dzielenia, zaczynając od ostatniej.
Konwersja zwykłego ułamka dziesiętnego na inny PSS odbywa się poprzez pomnożenie tylko części ułamkowej liczby przez podstawę nowego systemu liczbowego, aż wszystkie zera pozostaną w części ułamkowej lub do osiągnięcia określonej dokładności tłumaczenia. W wyniku każdej operacji mnożenia powstaje jedna cyfra nowej liczby, zaczynając od największej.
Tłumaczenie ułamków niewłaściwych odbywa się zgodnie z zasadami 1 i 2. Części całkowite i ułamkowe są zapisywane razem, oddzielane przecinkiem.

Przykład nr 1.



Konwersja z systemu liczbowego od 2 do 8 do 16.
Systemy te są wielokrotnościami dwójki, dlatego tłumaczenie odbywa się przy użyciu tabeli korespondencji (patrz poniżej).

Aby przekonwertować liczbę z systemu binarnego na ósemkowy (szesnastkowy) system liczbowy, należy podzielić liczbę binarną od kropki dziesiętnej w prawo i w lewo na grupy po trzy (cztery w przypadku szesnastkowego) cyfr, uzupełniając grupy zewnętrzne w razie potrzeby zerami. Każda grupa jest zastępowana odpowiednią cyfrą ósemkową lub szesnastkową.

Przykład nr 2. 1010111010.1011 = 1.010.111.010.101.1 = 1272,51 8
tutaj 001=1; 010=2; 111=7; 010=2; 101=5; 001=1

Konwertując na system szesnastkowy, należy podzielić liczbę na części czterocyfrowe, stosując te same zasady.
Przykład nr 3. 1010111010,1011 = 10.1011.1010,1011 = 2B12,13 szesnastkowy
tutaj 0010=2; 1011=B; 1010=12; 1011=13

Zamiana liczb z 2, 8 i 16 na system dziesiętny odbywa się poprzez rozbicie liczby na osobne części i pomnożenie jej przez podstawę systemu (z której liczba jest tłumaczona) podniesioną do potęgi odpowiadającej jej numerowi porządkowemu w liczba podlega konwersji. W tym przypadku liczby są numerowane na lewo od przecinka dziesiętnego (pierwsza liczba jest numerowana 0) w sposób rosnący, a w prawo w przypadku zmniejszania (tj. ze znakiem minus). Uzyskane wyniki sumuje się.

Przykład nr 4.
Przykład konwersji z systemu binarnego na dziesiętny.

1010010.101 2 = 1,2 6 +0,2 5 +1,2 4 +0,2 3 +0,2 2 +1,2 1 +0,2 0 + 1,2 -1 +0,2 - 2 + 1 2 -3 =
= 64+0+16+0+0+2+0+0,5+0+0,125 = 82,625 10 Przykład konwersji z systemu liczb ósemkowych na dziesiętny. 108,5 8 = 1*·8 2 +0,8 1 +8,8 0 + 5,8 -1 = 64+0+8+0,625 = 72,625 10 Przykład konwersji z systemu liczb szesnastkowych na dziesiętny. 108,5 16 = 1,16 2 +0,16 1 +8,16 0 + 5,16 -1 = 256+0+8+0,3125 = 264,3125 10

Jeszcze raz powtarzamy algorytm konwersji liczb z jednego systemu liczbowego na inny PSS

  1. Z dziesiętnego systemu liczbowego:
    • podziel liczbę przez podstawę tłumaczonego systemu liczbowego;
    • znaleźć resztę z dzielenia części całkowitej liczby;
    • zapisz resztę z dzielenia w odwrotnej kolejności;
  2. Z binarnego systemu liczbowego
    • Aby dokonać konwersji na system dziesiętny, należy znaleźć sumę iloczynów o podstawie 2 przez odpowiedni stopień cyfry;
    • Aby przekonwertować liczbę na liczbę ósemkową, należy podzielić ją na triady.
      Na przykład 1000110 = 1000 110 = 106 8
    • Aby przekonwertować liczbę z postaci binarnej na szesnastkową, należy podzielić ją na grupy po 4 cyfry.
      Na przykład 1000110 = 100 0110 = 46 16
System nazywa się pozycyjnym, dla których znaczenie lub waga cyfry zależy od jej położenia w liczbie. Zależność pomiędzy systemami przedstawiono w tabeli.
Tabela korespondencji systemu liczbowego:
Binarny SSSzesnastkowy SS
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 mi
1111 F

Tabela konwersji na system liczb ósemkowych

Lista systemów liczbowych

Notacja:

  • przedstawia reprezentacje zbioru liczb (liczb całkowitych i/lub rzeczywistych);
  • nadaje każdej liczbie unikalną reprezentację (lub przynajmniej standardową reprezentację);
  • odzwierciedla algebraiczną i arytmetyczną strukturę liczb.

Systemy liczbowe dzielą się na pozycyjny, niepozycyjny I mieszany.

Pozycyjne systemy liczbowe

W systemach liczb pozycyjnych ten sam znak numeryczny (cyfra) w zapisie liczby ma różne znaczenia w zależności od miejsca (cyfry), w którym się znajduje. Wynalazek numeracji pozycyjnej, opartej na znaczeniu cyfr, przypisuje się Sumerom i Babilończykom; Taka numeracja została opracowana przez Hindusów i miała nieocenione konsekwencje w historii cywilizacji ludzkiej. Do takich systemów należy nowoczesny system liczb dziesiętnych, którego pojawienie się wiąże się z liczeniem na palcach. Pojawił się w średniowiecznej Europie za pośrednictwem włoskich kupców, którzy z kolei pożyczyli go od muzułmanów.

System liczb pozycyjnych zwykle odnosi się do systemu liczb bogatych, który jest określany przez liczbę całkowitą tzw podstawa systemy liczbowe. Liczba całkowita bez znaku w systemie liczb -ary jest reprezentowana jako skończona liniowa kombinacja potęg liczby:

, gdzie nazywane są liczbami całkowitymi w liczbach, spełniając nierówność.

Każdy stopień w takim zapisie nazywany jest wagą rangi. Starszeństwo cyfr i odpowiadających im cyfr zależy od wartości wskaźnika (liczby cyfr). Zazwyczaj w przypadku liczb niezerowych lewe zera są pomijane.

Jeżeli nie ma rozbieżności (np. gdy wszystkie liczby są podane w postaci unikalnych znaków pisanych), liczbę zapisuje się jako ciąg jej cyfr alfanumerycznych, ułożonych w kolejności malejącej pierwszeństwa cyfr od lewej do prawej:

Na przykład liczba sto trzy reprezentowane w systemie dziesiętnym jako:

Najczęściej stosowanymi systemami pozycjonowania są:

W systemach pozycyjnych im większa podstawa systemu, tym mniejsza liczba cyfr (czyli cyfr pisanych) wymagana do zapisania liczby.

Mieszane systemy liczbowe

Mieszany system liczbowy jest uogólnieniem systemu liczbowego -rich i często odnosi się również do pozycyjnych systemów liczbowych. Podstawą systemu liczb mieszanych jest rosnący ciąg liczb, a każda liczba w nim jest reprezentowana jako kombinacja liniowa:

, gdzie współczynniki nazywa się jak poprzednio w liczbach, obowiązują pewne ograniczenia.

Zapisanie liczby w systemie liczb mieszanych polega na umieszczeniu jej cyfr w kolejności malejącej według indeksu, zaczynając od pierwszej niezerowej.

W zależności od rodzaju, systemy liczb mieszanych mogą być potęgowe, wykładnicze itp. Dla niektórych system liczb mieszanych pokrywa się z systemem liczbowym bogatym w wykładniczy.

Najbardziej znanym przykładem systemu liczb mieszanych jest reprezentacja czasu w postaci liczby dni, godzin, minut i sekund. W tym przypadku wartość „dni, godzin, minut, sekund” odpowiada wartości sekund.

Silniowy system liczbowy

W silniowy system liczbowy podstawy są ciągiem silni, a każdą liczbę naturalną przedstawia się jako:

, Gdzie .

System liczbowy silni jest używany, gdy dekodowanie permutacji za pomocą list inwersji: mając numer permutacji, można ją odtworzyć w następujący sposób: liczbę o jeden mniejszą od liczby (numeracja zaczyna się od zera) zapisuje się w silniowym systemie liczbowym, a współczynnik liczby i! będzie oznaczać liczbę inwersji elementu i+1 w zbiorze, w którym dokonywane są permutacje (liczba elementów mniejszych od i+1, ale znajdujących się na prawo od niego w żądanej permutacji)

Przykład: rozważ zestaw permutacji 5 elementów, w sumie jest ich 5! = 120 (od permutacji nr 0 - (1,2,3,4,5) do permutacji nr 119 - (5,4,3,2,1)), znajdźmy 101. permutację: 100 = 4!* 4 + 3!*0 + 2!*2 + 1!*0 = 96 + 4; niech ti będzie współczynnikiem dla liczby i!, wówczas t4 = 4, t3 = 0, t2 = 2, t1 = 0, wówczas: liczba elementów mniejszych od 5, ale znajdujących się po prawej stronie wynosi 4; liczba elementów mniejsza niż 4, ale umieszczona po prawej stronie, wynosi 0; liczba elementów mniejsza niż 3, ale umieszczona po prawej stronie, wynosi 2; liczba elementów mniejszych od 2, ale znajdujących się po prawej stronie wynosi 0 (ostatni element permutacji „umieszczony” jest na jedynym pozostałym miejscu) - zatem 101. permutacja będzie wyglądać następująco: (5,3,1,2 ,4) Sprawdzenie tej metody można przeprowadzić poprzez bezpośrednie zliczenie inwersji dla każdego elementu permutacji.

System liczbowy Fibonacciego w oparciu o liczby Fibonacciego. Każdą liczbę naturalną przedstawia się w postaci:

, gdzie są liczby Fibonacciego, a współczynniki mają skończoną liczbę jedynek i nie ma dwóch jedynek pod rząd.

Niepozycyjne systemy liczbowe

W niepozycyjnych systemach liczbowych wartość oznaczana przez cyfrę nie zależy od jej pozycji w liczbie. W takim przypadku system może nałożyć ograniczenia na położenie liczb, np. tak, aby były one ułożone w kolejności malejącej.

Dwumianowy system liczbowy

Reprezentacja za pomocą współczynników dwumianowych

, Gdzie .

System klas resztkowych (RSS)

Reprezentacja liczb w systemie klas reszt opiera się na koncepcji reszt i chińskim twierdzeniu o resztach. RNS jest określany przez zbiór liczb względnie pierwszych moduły z iloczynem w taki sposób, że każda liczba całkowita z segmentu jest powiązana ze zbiorem reszt, gdzie

Jednocześnie chińskie twierdzenie o resztach gwarantuje jednoznaczność reprezentacji liczb z przedziału.

W RNS operacje arytmetyczne (dodawanie, odejmowanie, mnożenie, dzielenie) są wykonywane składowo, jeśli wiadomo, że wynik jest liczbą całkowitą i leży w .

Wadami RNS jest możliwość reprezentowania jedynie ograniczonej liczby liczb, a także brak skutecznych algorytmów porównywania liczb reprezentowanych w RNS. Porównanie zwykle przeprowadza się poprzez tłumaczenie argumentów z RNS na system liczb mieszanych.

System liczbowy Sterna – Brocota- sposób zapisywania dodatnich liczb wymiernych oparty na drzewie Sterna–Brocota.

Systemy liczbowe różnych narodów

System numeracji jednostek

Podobno chronologicznie pierwszy system liczbowy każdego narodu, który opanował liczenie. Liczbę naturalną reprezentuje się poprzez powtórzenie tego samego znaku (kreski lub kropki). Na przykład, aby przedstawić liczbę 26, musisz narysować 26 linii (lub wykonać 26 nacięć na kości, kamieniu itp.). Następnie, dla wygody postrzegania dużych liczb, znaki te grupuje się w grupy po trzy lub pięć. Następnie równe grupy znaków zaczynają być zastępowane jakimś nowym znakiem - w ten sposób powstają prototypy przyszłych liczb.

Starożytny egipski system liczbowy

Babiloński system liczbowy

Alfabetyczne systemy liczbowe

Alfabetyczny system liczbowy był używany przez starożytnych Ormian, Gruzinów, Greków (jonowy system liczbowy), Arabów (abjadia), Żydów (patrz gematria) i innych ludów Bliskiego Wschodu. W słowiańskich księgach liturgicznych grecki system alfabetu został przetłumaczony na litery cyrylicy.

Żydowski system liczbowy

Grecki system liczbowy

Rzymski system liczbowy

Kanonicznym przykładem prawie niepozycyjnego systemu liczbowego jest system rzymski, w którym zamiast cyfr używa się liter łacińskich:
ja jestem za 1,
V-5,
X-10,
L - 50,
C - 100,
D-500,
M - 1000

Na przykład II = 1 + 1 = 2
tutaj symbol I oznacza 1 niezależnie od jego miejsca w liczbie.

W rzeczywistości system rzymski nie jest całkowicie niepozycyjny, ponieważ odejmuje się od niego mniejszą cyfrę znajdującą się przed większą, na przykład:

IV = 4, natomiast:
VI = 6

System liczbowy Majów

Zobacz też

Notatki

Spinki do mankietów

  • Gaszkow S. B. Systemy liczbowe i ich zastosowania. - M.: MTsNMO, 2004. - (Biblioteka „Edukacja Matematyczna”).
  • Fomin S.V. Systemy liczbowe. - M.: Nauka, 1987. - 48 s. - (Popularne wykłady z matematyki).
  • Jaglom I. Systemy liczbowe // Kwant. - 1970. - nr 6. - s. 2-10.
  • Liczby i systemy liczbowe. Encyklopedia internetowa na całym świecie.
  • Stachow A. Rola systemów liczbowych w historii komputerów.
  • Systemy liczbowe Mikushin A.V. Kurs wykładów „Urządzenia cyfrowe i mikroprocesory”
  • Butler J. T., Sasao T. Redundantne wielowartościowe systemy liczbowe W artykule omówiono systemy liczbowe wykorzystujące cyfry większe niż jeden i umożliwiające redundancję w reprezentacji liczb

Fundacja Wikimedia. 2010.

Zobacz, co „system liczbowy” znajduje się w innych słownikach:

    Sposób wyświetlania liczb i zasady działania na nich. Istnieją pozycyjne i niepozycyjne systemy liczbowe. Zobacz także: Systemy liczbowe Dane Słownik finansowy Finam ... Słownik finansowy

    NOTACJA- (1) system tras do ciągłego automatycznego (lub ręcznego przez nawigatora) rozliczania rzeczywistego ruchu statku powietrznego, statku, miliona sterowanych broni pod wpływem własnego napędu i czynników zewnętrznych (wiatr, powietrze i… .. . Wielka encyklopedia politechniczna

    notacja- - Tematyka telekomunikacyjna, podstawowe pojęcia System numeracyjny EN...

    notacja- ▲ zestaw kodów, system notacji liczb całkowitych do przedstawiania liczb; sposób zapisywania liczb; kodowanie liczb. cyfra jest znakiem wskazującym liczbę całkowitą. tsifir (przestarzały). Cyfry rzymskie. Cyfry arabskie: zero. jeden. dwa. trzy. cztery… Słownik ideograficzny języka rosyjskiego

    Notacja- zbiór symboli i zasad zapisywania liczb (patrz np. Cyfry rzymskie). W praktyce ludzkiej najczęściej stosowany jest system liczb dziesiętnych. W technologii komputerowej (komputerowej) binarnej, ósemkowej i... ... Początki nowożytnych nauk przyrodniczych

    notacja- skaičių sistema statusas T sritis automatika atitikmenys: engl. system reprezentacji liczb; system liczbowy; system numeracji; system liczbowy; system numeracji; system numeryczny; skala wok. Zahlendarstellungssystem, n; Zahlensystem, n rus.… … Automatikos terminų žodynas

    system pozostałych numerów klas- system liczbowy w resztach - [L.G. Sumenko. Słownik angielsko-rosyjski dotyczący technologii informatycznych. M.: Przedsiębiorstwo Państwowe TsNIIS, 2003.] Tematy technologia informacyjna w ogólności Synonimy system liczbowy w pozostałościach EN system pozostałości (liczbowy) ... Przewodnik tłumacza technicznego

    system liczbowy o podstawie ujemnej- - [L.G. Sumenko. Słownik angielsko-rosyjski dotyczący technologii informatycznych. M.: State Enterprise TsNIIS, 2003.] Tematy technologia informacyjna w ogólności EN system reprezentacji liczb ujemnych... Przewodnik tłumacza technicznego

W sprawach organizacji przetwarzania informacji za pomocą komputera ważne miejsce zajmują systemy liczbowe, formy prezentacji danych i specjalne kodowanie liczb.

Nazywa się zestaw technik nazywania i zapisywania liczb martwy rachunek. Pod systemu liczbowego odnosi się do sposobu przedstawiania dowolnej liczby przy użyciu ograniczonego alfabetu symboli zwanych cyframi. Numeracja to szczególny przypadek kodowania, w którym słowo zapisane przy użyciu określonego alfabetu i według określonych zasad nazywane jest kodem. W odniesieniu do zapisu jest to kod liczby.

Pozycyjne i niepozycyjne systemy liczbowe.

Istnieją pozycyjne i niepozycyjne systemy liczbowe. W niepozycyjnych systemach liczbowych każda liczba jest oznaczona odpowiednim zestawem symboli. Typowym przedstawicielem systemów niepozycyjnych jest rzymski system liczbowy ze złożonym sposobem zapisywania liczb i uciążliwymi zasadami wykonywania operacji arytmetycznych. Przykładowo wpis MCMXCIX oznacza, że ​​wpisana jest liczba 1999 (M – tysiąc, C – sto, X – dziesięć, V – pięć, I – jeden itd.).

Systemy liczb pozycyjnych mają ogromne zalety w zakresie przejrzystości reprezentacji liczb i łatwości wykonywania operacji arytmetycznych.

W pozycyjnym systemie liczbowym o wartości liczby decyduje nie tylko zbiór cyfr w niej zawartych, ale także ich miejsce (pozycja) w ciągu cyfr reprezentujących tę liczbę, na przykład liczby 127 i 721.

System liczb pozycyjnych to dziesiętny system liczbowy używany w życiu codziennym. Oprócz dziesiętnego istnieją inne systemy liczb pozycyjnych, a niektóre z nich znalazły zastosowanie w informatyce.

Liczba symboli używanych w systemie liczb pozycyjnych nazywana jest jego podstawą. Zwykle oznacza się go literą q. System liczb dziesiętnych wykorzystuje dziesięć symboli (cyfr): 0, 1, 2, 3,4, 5, 6, 7, 8, 9, a podstawą systemu jest liczba dziesięć.

Szczególne miejsce wśród pozycyjnych systemów liczbowych zajmują systemy z potęgowymi wagami cyfr, w których wagi sąsiednich pozycji cyfr (cyfr) różnią się wartością o stałą liczbę razy równą podstawie q systemu liczbowego.

Ogólnie rzecz biorąc, w takim pozycyjnym systemie liczbowym o podstawie q dowolną liczbę X można przedstawić jako wielomian rozwinięcia:
(1.1)

Gdzie:
A(q) - zapis liczby w systemie liczbowym o podstawie q;
ai - liczby całkowite mniejsze niż q;
n - liczba cyfr (pozycji) w części całkowitej liczby;
m - liczba cyfr w części ułamkowej liczby.

Na przykład:


Aby wskazać zastosowany system liczbowy, w indeksie wskazana jest jego podstawa. Reprezentacja liczby A w postaci ciągu współczynników a. wielomian jest jego skrótem warunkowym (kodem).

A(q)=a n-1 za n-2 …a 1 za 0 ,a -1 …a -m (1.2)

Przecinek oddziela część całkowitą liczby od części ułamkowej i służy jako początek zliczania wartości wagowych każdej pozycji (cyfry).

W informatyce stosuje się pozycyjne systemy liczbowe o podstawie niedziesiętnej: binarne, ósemkowe i szesnastkowe, czyli systemy liczbowe o podstawie q = 2 k, gdzie k = 1,3,4.

Binarny system liczbowy

Najpopularniejszym systemem liczbowym jest system liczb binarnych.W tym systemie do przedstawienia dowolnej liczby używane są dwa symbole – cyfry 0 i 1. Podstawą systemu liczbowego jest q = 2.

Dowolną liczbę można przedstawić za pomocą wzoru (1.1) w postaci rozwinięcia potęgi dwójki. Wówczas warunkowy zapis skrócony zgodnie z (1.2) oznacza reprezentację liczby w systemie liczb binarnych (kod binarny liczby), gdzie ai = 0 lub 1.

Na przykład:
15,625=1 2 3 +1 2 2 +1 2 1 +1 2 0 + 1 2 -1 +0 2 -2 +1 2 -3 = 1111,101 (2)
Binarna reprezentacja liczby wymaga około 3,3 razy więcej cyfr niż jej dziesiętna reprezentacja. Jednak użycie systemu liczb binarnych stwarza dużą wygodę w obsłudze komputera, ponieważ dowolny element pamięci, który ma dwa stabilne stany, może zostać użyty do reprezentowania fragmentu liczby binarnej w maszynie.

System liczb ósemkowych.

W systemie ósemkowym alfabet składa się z ośmiu znaków (cyfr): 0, 1 ... 7. Podstawą systemu liczbowego jest q = 8. Aby zapisać dowolną liczbę w systemie ósemkowym, należy użyć wzór (1.1), aby znaleźć jego rozwinięcie w potęgach ósemki, a następnie skorzystać z warunkowego zapisu skróconego (1.2).

Na przykład, liczba dziesiętna 53 (10) = 65 (8)

Szesnastkowy system liczbowy.
W szesnastkowym systemie liczbowym alfabet zawiera 16 znaków (cyfry i litery): 0, 1 ... 9, A, B, C, D, E, F. Podstawą systemu liczbowego jest q = 16. Do zapisu dowolną liczbę w tym numerze systemowym, należy znaleźć jej rozwinięcie do potęgi 16, korzystając ze wzoru (1.1) i korzystając ze wzoru (1.2) znaleźć kod.

Na przykład: 31 (10) = 1F (16)

Binarne kodowanie dziesiętne.
Oprócz kodów binarnych, na których działa komputer, do wprowadzania i wyprowadzania liczb dziesiętnych (danych) używane jest specjalne binarne kodowanie dziesiętne. W przypadku kodowania BCD każda cyfra dziesiętna jest zastępowana tetradą (czwórką) cyfr binarnych, a same tetrady są zapisywane sekwencyjnie zgodnie z kolejnością cyfr dziesiętnych. Podczas konwersji z powrotem z BCD na dziesiętny, kod źródłowy jest dzielony na tetrady po prawej i lewej stronie przecinka dziesiętnego, które następnie są zastępowane cyframi dziesiętnymi.

Zatem w przypadku kodowania binarno-dziesiętnego liczba nie jest w rzeczywistości konwertowana na nowy system liczbowy, ale mamy do czynienia z dziesiętnym systemem liczbowym kodowanym binarnie.

Na przykład , liczba dziesiętna 12 (10) = C (16) = 14 (8) = 1100 (2) = 00010010 (2-10).

Komputer wykorzystuje następujące formy reprezentacji danych:
liczby ze stałym przecinkiem (przecinek);
Liczb zmiennoprzecinkowych;
liczby dziesiętne;
dane znakowe.

Numery punktów stałych
Przy przedstawianiu liczby X w postaci stałoprzecinkowej znak liczby (znak X) i moduł liczby (modX) są wskazane w kodzie q-ary. Czasami tę formę przedstawiania liczb nazywa się formą naturalną. Miejsce kropki (przecinka) jest stałe dla wszystkich liczb i nie zmienia się w procesie rozwiązywania problemów. Znak liczby dodatniej kodowany jest jako „0”, a znak liczby ujemnej jako „1”.

Kod liczby w postaci stałoprzecinkowej, składający się z kodu znaku i kodu q-arygo jej modułu, nazywany jest kodem bezpośrednim. Cyfra bezpośredniego kodu numeru, w którym znajduje się kod znaku, nazywana jest cyfrą znaku kodu. Bity kodu bezpośredniego liczby, w których znajduje się kod q-ary modułu liczby, nazywane są bitami cyfrowymi kodu. Podczas zapisywania kodu bezpośredniego bit znaku znajduje się na lewo od najbardziej znaczącego bitu cyfrowego i zwykle jest oddzielony od bitów cyfrowych kropką.

Ogólnie rzecz biorąc, na rysunku pokazano komputerową siatkę bitową do umieszczania liczb w postaci stałoprzecinkowej.
Rysunek przedstawia n cyfr reprezentujących część całkowitą liczby i r cyfr reprezentujących część ułamkową liczby.

Stały


Dla danych n i r zakres zmian modułów liczb, których kody można przedstawić w danej siatce bitowej, wyznacza nierówność

Użycie postaci stałoprzecinkowej do przedstawienia liczb mieszanych (z liczbą całkowitą i częścią ułamkową) praktycznie nie występuje w komputerach. Z reguły w komputerach stosuje się arytmetykę ułamkową (n=0) lub arytmetykę liczb całkowitych (r=0).

Stałoprzecinkowa forma przedstawiania liczb upraszcza sprzętową implementację komputera i skraca czas wykonywania operacji na maszynie, jednak przy rozwiązywaniu problemów na maszynie konieczne jest ciągłe upewnianie się, że wszystkie dane początkowe, wyniki pośrednie i końcowe mieszczą się w akceptowalnym zakresie reprezentacji. W przeciwnym razie siatka bitów może zostać przepełniona, a wynik obliczeń będzie nieprawidłowy. Komputery korzystające z postaci zmiennoprzecinkowej lub postaci normalnej są w dużej mierze wolne od tych niedociągnięć.

Liczb zmiennoprzecinkowych
b) Rysunek 14.b ze zmiennoprzecinkowym

W postaci normalnej liczba jest przedstawiana jako iloczyn X=mqp
gdzie m jest mantysą liczby;
q - podstawa systemu liczbowego;
r - zamówienie.

Aby podać liczbę w postaci normalnej, należy podać znaki mantysy i wykładnika, ich moduły w kodzie q-aryjnym oraz podstawę systemu liczbowego. Normalna forma przedstawiania liczb jest niejednoznaczna, ponieważ wzajemna zmiana m i p prowadzi do pływania kropki (przecinka). Stąd wzięła się nazwa formy przedstawiania liczb.

Aby zapewnić jednoznaczną reprezentację liczb w komputerze, stosuje się postać znormalizowaną, w której położenie punktu podawane jest zawsze przed znaczącą cyfrą mantysy, czyli warunek jest spełniony

W ogólnym przypadku siatkę bitową komputera do umieszczania liczb w postaci normalnej można przedstawić w sposób pokazany na ryc. Siatka bitowa zawiera:

    cyfra oznaczająca znak mantysy;

    r bity cyfrowe kodu q-ary modułu mantysy;

    cyfra kodu znaku zamówienia;

    s cyfry kodu q-arygo modułu rzędu.

Zakres reprezentacji modułów liczb w postaci znormalizowanej wyznacza poniższa nierówność:

W konkretnym komputerze zakres reprezentacji liczb zmiennoprzecinkowych zależy od podstawy systemu i liczby cyfr reprezentujących kolejność.
Jednocześnie w przypadku formatów liczb zmiennoprzecinkowych o równej długości wraz ze wzrostem podstawy systemu liczbowego zakres reprezentowanych liczb znacznie się rozszerza.
Dokładność obliczeń w formacie zmiennoprzecinkowym zależy od liczby cyfr mantysy r. Zwiększa się wraz z liczbą cyfr.
Przy prezentowaniu informacji w postaci dziesiętnych liczb wielocyfrowych każdą cyfrę dziesiętną zastępuje się binarnym kodem dziesiętnym. Aby przyspieszyć wymianę informacji, zaoszczędzić pamięć i ułatwić operacje na liczbach dziesiętnych, zapewniono specjalne formaty ich reprezentacji: strefa (bez opakowania) I zapakowane . Format strefy jest używany w operacjach wejściowych. W tym celu komputer ma specjalne polecenia do pakowania i rozpakowywania liczb dziesiętnych.

Aby przechowywać liczby i wykonywać na nich różne operacje, są one reprezentowane przez różne kody: do przodu, odwrotny i uzupełniający. Jak wspomniano powyżej, kod bezpośredni służy do reprezentowania liczb ze znakiem w pamięci komputera. Aby oznaczyć bezpośredni kod liczby X, stosuje się zapis postaci ^.

Reguła przedstawiania kodu Q-ary liczby w kod bezpośredni ma postać:

gdzie xi jest wartością cyfry i-tej cyfry kodu źródłowego.

Tutaj najbardziej znaczący bit niesie informację o znaku liczby. Jeżeli przyjmuje wartość 0, wówczas znakiem liczby jest „+”; jeśli wartość wynosi 1, wówczas znakiem liczby jest „-”.

Na przykład dla kodu binarnego

X (2) = +11001011 [X (2)] = 0,11001011;
X(2) = -01101011 [X (2)] = 1,01101011.

Podczas przedstawiania liczb w kodzie bezpośrednim realizacja operacji arytmetycznych w komputerze musi zapewniać różne działania z modułami liczb w zależności od ich znaków. Zatem dodawanie liczb z tymi samymi znakami w kodzie bezpośrednim jest dość proste. Liczby są dodawane, a sumie przypisywany jest kod znaku dodatków. Operacja dodawania algebraicznego w bezpośrednim kodzie liczb o różnych znakach jest znacznie bardziej złożona. W tym przypadku należy wyznaczyć większą liczbę modulo, odjąć liczby i przypisać różnicę znak większej liczby modulo. Aby uprościć wykonywanie operacji dodawania algebraicznego na komputerze, stosuje się specjalne kody, które pozwalają sprowadzić tę operację do operacji dodawania arytmetycznego. Kody zwrotne i dodatkowe są używane jako kody specjalne w komputerach. Tworzą się z bezpośrednich kodów liczb, a specjalny kod liczby dodatniej jest równy jej bezpośredniemu kodowi.

Aby oznaczyć odwrotny kod liczby X(q), stosuje się zapis w postaci [X(q)] arr.
Reguła przedstawiania kodu q-ary liczby w kod odwrotny ma postać:

Oto inwersja liczby xi, wyznaczona z zależności:

gdzie: q - podstawa systemu liczbowego;
xj to wartość cyfry i-tej cyfry kodu źródłowego.

W systemie liczb binarnych, jeśli x = 1, to odwrotnie. Stąd możemy sformułować szczególną regułę tworzenia odwrotnego kodu dla ujemnych liczb binarnych.

Aby zamienić kod bezpośredni liczby binarnej ujemnej na kod odwrotny i odwrotnie, należy pozostawić bit znaku bez zmian, a w pozostałych bitach zastąpić zera jedynkami, a jedynki zerami.

Na przykład:

x (2) = +11011001, pr.=0,11011001, arr.= 0,11011001.
x (2) = - 01011101, pr.=1,01011101, arr.= 1,10100010.

Wskazać dodatkowy kod w liczbie X(q) stosuje się zapis w formie dodatkowej. Reguła przedstawiania kodu q-ary liczby w kodzie uzupełnienia do dwójki ma postać:

Zatem, Aby zamienić kod bezpośredni liczby ujemnej q-arnej na dodatkowy, należy go przekształcić w kod odwrotny i dodać jedynkę do cyfry małego rzędu.

Na przykład dla liczb binarnych:

x (2) = +11011001, pr.= 0,11011001, dodatkowy = 0,11011001.
x (2) = - 01011101, pr.=1,01011101, arr.= 1,10100011.

Podczas wykonywania operacji dodawania liczb reprezentowanych przez specjalne kody q-ary, bity znaku uczestniczą w operacji razem z bitami cyfrowymi. W tym przypadku cyfry terminów dodawane są jako moduły liczb zgodnie z zasadami arytmetyki q-aryjnej. Bity znaku i cyfry przenoszenia z najbardziej znaczącego bitu cyfrowego dla dowolnej podstawy systemu liczbowego (q = 2) są dodawane jako jednobitowe kody binarne. Jeżeli utworzone jest przeniesienie z bitu znaku, wówczas dla najmniej znaczącego bitu q -m przy zastosowaniu kodu odwrotnego ma ono wagę jeden i należy je dodać do najmniej znaczącego bitu wyniku. Podczas używania kodu uzupełnienia do dwójki jednostka przenoszenia z bitu znaku nie jest brana pod uwagę, tj. jest odrzucana.

Na przykład:

Wykonując operację dodawania algebraicznego, przed konwersją bezpośrednich kodów dodatków na specjalne, konieczne jest wyrównanie ich według liczby cyfr, jeśli liczba cyfr dodatków jest inna. Ponadto w niektórych przypadkach może wystąpić przepełnienie sieci. Znakiem przepełnienia siatki bitów jest następująca kombinacja liczb w cyfrach znaku terminów i wyniku:

Wynik dodania specjalnych kodów liczbowych w przypadku przepełnienia siatki bitów jest nieprawidłowy.

Studiując kodowanie, zdałem sobie sprawę, że nie rozumiem wystarczająco dobrze systemów liczbowych. Niemniej jednak często korzystałem z systemów 2-, 8-, 10-, 16-tych, konwertowałem jeden na drugi, ale wszystko odbywało się „automatycznie”. Po przeczytaniu wielu publikacji zdziwił mnie brak jednego, prostego w języku artykułu na temat tak podstawowego materiału. Dlatego też zdecydowałem się napisać własną, w której starałem się w przystępny i uporządkowany sposób przedstawić podstawy systemów liczbowych.

Wstęp

Notacja to sposób zapisywania (reprezentowania) liczb.

Co to znaczy? Na przykład widzisz przed sobą kilka drzew. Twoim zadaniem jest je policzyć. W tym celu można zgiąć palce, zrobić na kamieniu nacięcia (jedno drzewo - jeden palec/wycięcie) lub połączyć 10 drzew jakimś przedmiotem, np. kamieniem i pojedynczym okazem patyczkiem i umieścić je na ziemi, jak policzysz. W pierwszym przypadku liczba jest reprezentowana jako ciąg zgiętych palców lub nacięć, w drugim - kompozycja kamieni i patyków, gdzie kamienie znajdują się po lewej stronie, a patyki po prawej

Systemy liczbowe dzielą się na pozycyjne i niepozycyjne, a pozycyjne z kolei na jednorodne i mieszane.

Niepozycyjny- najstarszy, w nim każda cyfra liczby ma wartość niezależną od jej położenia (cyfry). Oznacza to, że jeśli masz 5 linii, liczba wynosi również 5, ponieważ każda linia, niezależnie od jej miejsca w linii, odpowiada tylko 1 pozycji.

System pozycyjny- znaczenie każdej cyfry zależy od jej pozycji (cyfry) w liczbie. Na przykład znany nam system liczb 10. jest pozycyjny. Rozważmy liczbę 453. Liczba 4 oznacza liczbę setek i odpowiada liczbie 400, 5 - liczbie dziesiątek i jest zbliżone do wartości 50, a 3 - jedności i wartości 3. Jak widać, im większa cyfra, tym wyższa wartość. Ostateczną liczbę można przedstawić jako sumę 400+50+3=453.

System jednorodny- dla wszystkich cyfr (pozycji) liczby zbiór prawidłowych znaków (cyfr) jest taki sam. Jako przykład weźmy wspomniany wcześniej system 10. Zapisując liczbę w jednorodnym systemie 10-tym, w każdej cyfrze można użyć tylko jednej cyfry od 0 do 9, zatem dozwolona jest liczba 450 (1. cyfra - 0, 2. - 5, 3. - 4), ale 4F5 nie, ponieważ znak F nie należy do zbioru cyfr od 0 do 9.

System mieszany- w każdej cyfrze (pozycji) numeru zbiór ważnych znaków (cyfr) może różnić się od zbiorów pozostałych cyfr. Uderzającym przykładem jest system pomiaru czasu. W kategorii sekund i minut możliwych jest 60 różnych symboli (od „00” do „59”), w kategorii godzin – 24 różne symbole (od „00” do „23”), w kategorii dnia – 365 itp.

Systemy niepozycyjne

Gdy tylko ludzie nauczyli się liczyć, pojawiła się potrzeba zapisywania liczb. Na początku wszystko było proste – wycięcie lub kreska na jakiejś powierzchni odpowiadała jednemu przedmiotowi, na przykład jednemu owocowi. Tak powstał pierwszy system liczbowy – jednostka.
System numeracji jednostek
Liczba w tym systemie liczbowym to ciąg kresek (pałeczek), których liczba jest równa wartości danej liczby. Zatem zbiór 100 daktyli będzie równy liczbie składającej się ze 100 kresek.
Ale ten system ma oczywiste niedogodności - im większa liczba, tym dłuższy sznur patyków. Ponadto podczas zapisywania liczby można łatwo popełnić błąd, przypadkowo dodając dodatkowy patyczek lub odwrotnie, nie zapisując go.

Dla wygody ludzie zaczęli grupować patyki po 3, 5 i 10 sztuk. Jednocześnie każda grupa odpowiadała konkretnemu znakowi lub przedmiotowi. Początkowo do liczenia używano palców, dlatego pierwsze znaki pojawiły się dla grup po 5 i 10 sztuk (jednostek). Wszystko to umożliwiło stworzenie wygodniejszych systemów rejestracji numerów.

Starożytny egipski system dziesiętny
W starożytnym Egipcie do przedstawienia liczb 1, 10, 10 2, 10 3, 10 4, 10 5, 10 6, 10 7 używano specjalnych symboli (cyfr). Tutaj jest kilka z nich:

Dlaczego nazywa się to dziesiętnym? Jak wspomniano powyżej, ludzie zaczęli grupować symbole. W Egipcie wybrali grupę 10 osób, pozostawiając liczbę „1” bez zmian. W tym przypadku liczba 10 nazywana jest podstawowym systemem liczb dziesiętnych, a każdy symbol jest w pewnym stopniu reprezentacją liczby 10.

Liczby w starożytnym egipskim systemie liczbowym zapisano jako ich kombinację
znaków, z których każdy został powtórzony nie więcej niż dziewięć razy. Ostateczna wartość była równa sumie elementów liczby. Warto zauważyć, że ten sposób uzyskiwania wartości jest charakterystyczny dla każdego niepozycyjnego systemu liczbowego. Przykładem może być liczba 345:

Babiloński system sześćdziesiętny
W przeciwieństwie do egipskiego, system babiloński używał tylko dwóch symboli: „prostego” klina do oznaczania jednostek i „leżącego” klina do reprezentowania dziesiątek. Aby określić wartość liczby, należy podzielić obraz liczby na cyfry od prawej do lewej. Nowe wyładowanie rozpoczyna się od pojawienia się prostego klina po leżącym. Weźmy na przykład liczbę 32:

Liczba 60 i wszystkie jej potęgi są również oznaczone prostym klinem, na przykład „1”. Dlatego babiloński system liczbowy nazwano sześćdziesiętnym.
Babilończycy zapisali wszystkie liczby od 1 do 59 w dziesiętnym systemie niepozycyjnym, a duże wartości w systemie pozycyjnym o podstawie 60. Liczba 92:

Zapis liczby był niejednoznaczny, ponieważ nie było cyfry wskazującej zero. Przedstawienie liczby 92 może oznaczać nie tylko 92=60+32, ale także np. 3632=3600+32. Aby określić wartość bezwzględną liczby, wprowadzono specjalny symbol wskazujący brakującą cyfrę sześćdziesiętną, co odpowiada występowaniu liczby 0 w zapisie liczb dziesiętnych:

Teraz liczbę 3632 należy zapisać jako:

Babiloński system sześćdziesiętny jest pierwszym systemem liczbowym opartym częściowo na zasadzie pozycyjnej. Ten system liczbowy jest nadal używany na przykład przy określaniu czasu - godzina składa się z 60 minut, a minuta składa się z 60 sekund.

System rzymski
System rzymski nie różni się zbytnio od egipskiego. Używa wielkich liter łacińskich I, V, X, L, C, D i M do przedstawienia odpowiednio liczb 1, 5, 10, 50, 100, 500 i 1000. Liczba w systemie liczb rzymskich to zbiór kolejnych cyfr.

Metody określania wartości liczby:

  1. Wartość liczby jest równa sumie wartości jej cyfr. Na przykład liczba 32 w systemie liczb rzymskich to XXXII=(X+X+X)+(I+I)=30+2=32
  2. Jeśli na lewo od większej cyfry znajduje się mniejsza, wówczas wartość jest równa różnicy między większą i mniejszą cyfrą. Jednocześnie lewa cyfra może być mniejsza od prawej maksymalnie o jeden rząd wielkości: na przykład tylko X(10) może pojawić się przed L(50) i C(100) wśród „najniższych” , i tylko przed D(500) i M(1000) C(100), przed V(5) - tylko I(1); liczba 444 w rozważanym systemie liczbowym zostanie zapisana jako CDXLIV = (D-C)+(L-X)+(V-I) = 400+40+4=444.
  3. Wartość jest równa sumie wartości grup i liczb, które nie pasują do punktów 1 i 2.
Oprócz cyfrowych istnieją również systemy liczbowe literowe (alfabetyczne), oto niektóre z nich:
1) słowiański
2) grecki (joński)

Pozycyjne systemy liczbowe

Jak wspomniano powyżej, pierwsze przesłanki powstania systemu pozycyjnego powstały w starożytnym Babilonie. W Indiach system przyjął formę pozycyjnego numerowania dziesiętnego z wykorzystaniem zera, a od Hindusów ten system liczbowy został zapożyczony przez Arabów, od których przejęli go Europejczycy. Z jakiegoś powodu w Europie do tego systemu przypisano nazwę „Arab”.
Dziesiętny system liczbowy
Jest to jeden z najpowszechniejszych systemów liczbowych. Tego właśnie używamy, gdy podajemy cenę produktu i numer autobusu. W każdej cyfrze (pozycji) może znajdować się tylko jedna cyfra z zakresu od 0 do 9. Podstawą systemu jest liczba 10.

Weźmy na przykład liczbę 503. Gdyby tę liczbę zapisano w systemie niepozycyjnym, to jej wartość wyniosłaby 5+0+3 = 8. Ale mamy system pozycyjny, a to oznacza, że ​​każda cyfra liczby musi być pomnożona przez podstawę systemu, w tym przypadku liczbę „10”, podniesioną do potęgi równej liczbie cyfry. Okazuje się, że wartość wynosi 5*10 2 + 0*10 1 + 3*10 0 = 500+0+3 = 503. Aby uniknąć nieporozumień podczas pracy z kilkoma systemami liczbowymi jednocześnie, podstawa jest oznaczona jako indeks dolny. Zatem 503 = 503 10.

Oprócz systemu dziesiętnego na szczególną uwagę zasługują systemy 2, 8 i 16.

Binarny system liczbowy
System ten jest stosowany głównie w informatyce. Dlaczego nie użyli zwykłej 10-tki? Pierwszy komputer został stworzony przez Blaise'a Pascala, który posługiwał się systemem dziesiętnym, co okazało się niewygodne we współczesnych maszynach elektronicznych, gdyż wymagało wyprodukowania urządzeń zdolnych do pracy w 10 stanach, co podniosło ich cenę i ostateczny rozmiar maszyna. Elementy pracujące w systemie II nie posiadają tych mankamentów. Jednakże system, o którym mowa, powstał na długo przed wynalezieniem komputerów i ma swoje „korzenie” w cywilizacji Inków, gdzie stosowano kipu – skomplikowane sploty i węzły lin.

Binarny system liczb pozycyjnych ma podstawę 2 i używa 2 symboli (cyfr) do zapisywania liczb: 0 i 1. W każdej cyfrze dozwolona jest tylko jedna cyfra - 0 lub 1.

Przykładem jest liczba 101. Jest ona podobna do liczby 5 w systemie dziesiętnym. Aby zamienić liczbę 2 na 10, należy pomnożyć każdą cyfrę liczby binarnej przez podstawę „2” podniesioną do potęgi równej wartości miejsca. Zatem liczba 101 2 = 1*2 2 + 0*2 1 + 1*2 0 = 4+0+1 = 5 10.

Cóż, w przypadku maszyn drugi system liczbowy jest wygodniejszy, ale często widzimy i używamy liczb w systemie 10-tym na komputerze. W jaki sposób maszyna określa, jaki numer wprowadza użytkownik? Jak tłumaczy liczbę z jednego systemu na drugi, skoro ma tylko 2 symbole - 0 i 1?

Aby komputer mógł pracować z liczbami binarnymi (kodami), muszą one być gdzieś przechowywane. Do przechowywania każdej pojedynczej cyfry używany jest wyzwalacz, który jest obwodem elektronicznym. Może znajdować się w 2 stanach, z których jeden odpowiada zeru, drugi jednemu. Do zapamiętania pojedynczej liczby używany jest rejestr - grupa wyzwalaczy, których liczba odpowiada liczbie cyfr liczby binarnej. A zestawem rejestrów jest RAM. Liczba zawarta w rejestrze jest słowem maszynowym. Operacje arytmetyczne i logiczne na słowach wykonywane są przez jednostkę arytmetyczno-logiczną (ALU). Aby ułatwić dostęp do rejestrów, są one ponumerowane. Numer ten nazywany jest adresem rejestrowym. Przykładowo, jeśli trzeba dodać 2 liczby, wystarczy wskazać numery komórek (rejestrów), w których się one znajdują, a nie same liczby. Adresy są zapisywane w systemie ósemkowym i szesnastkowym (zostaną one omówione poniżej), ponieważ przejście z nich do systemu binarnego i z powrotem jest dość proste. Aby przenieść z 2. na 8., liczbę należy podzielić na grupy po 3 cyfry od prawej do lewej, a aby przejść do 16. - 4. Jeśli w skrajnej lewej grupie cyfr nie ma wystarczającej liczby cyfr, są one wypełnione od lewej zerami, które nazywane są wiodącymi. Weźmy jako przykład liczbę 101100 2. W systemie ósemkowym jest to 101 100 = 54 8, a w systemie szesnastkowym jest to 0010 1100 = 2C 16. Świetnie, ale dlaczego na ekranie widzimy cyfry i litery dziesiętne? Po naciśnięciu klawisza do komputera przesyłana jest pewna sekwencja impulsów elektrycznych, a każdy symbol ma swoją własną sekwencję impulsów elektrycznych (zera i jedyneki). Program sterownika klawiatury i ekranu uzyskuje dostęp do tabeli kodów znaków (na przykład Unicode, który umożliwia zakodowanie 65536 znaków), określa, któremu znakowi odpowiada wynikowy kod i wyświetla go na ekranie. W ten sposób teksty i liczby są przechowywane w pamięci komputera w kodzie binarnym i programowo konwertowane na obrazy na ekranie.

System liczb ósemkowych
System liczb ósmych, podobnie jak system binarny, jest często używany w technologii cyfrowej. Ma podstawę 8 i używa cyfr od 0 do 7 do zapisywania liczb.

Przykład liczby ósemkowej: 254. Aby dokonać konwersji do systemu 10, każdą cyfrę pierwotnej liczby należy pomnożyć przez 8 n, gdzie n jest liczbą cyfr. Okazuje się, że 254 8 = 2*8 2 + 5*8 1 + 4*8 0 = 128+40+4 = 172 10.

Szesnastkowy system liczbowy
System szesnastkowy jest szeroko stosowany we współczesnych komputerach, na przykład służy do oznaczania koloru: #FFFFFF - biały. System, o którym mowa, ma podstawę 16 i używa do zapisu następujących liczb: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B. C, D, E, F, gdzie litery to odpowiednio 10, 11, 12, 13, 14, 15.

Weźmy jako przykład liczbę 4F5 16. Aby przejść do systemu ósemkowego, najpierw zamieniamy liczbę szesnastkową na binarną, a następnie dzieląc ją na grupy po 3 cyfry, na ósemkową. Aby przekonwertować liczbę na 2, musisz przedstawić każdą cyfrę jako 4-bitową liczbę binarną. 4F5 16 = (100 1111 101) 2 . Ale w grupach 1 i 3 nie ma wystarczającej liczby cyfr, więc wypełnijmy każdą zerami wiodącymi: 0100 1111 0101. Teraz musisz podzielić wynikową liczbę na grupy po 3 cyfry od prawej do lewej: 0100 1111 0101 = 010 011 110 101 Przekształćmy każdą grupę binarną na system ósemkowy, mnożąc każdą cyfrę przez 2 n, gdzie n jest cyfrą: (0*2 2 +1*2 1 +0*2 0) (0*2 2 +1*2 1 +1*2 0) (1*2 2 +1*2 1 +0*2 0) (1*2 2 +0*2 1 +1*2 0) = 2365 8 .

Oprócz rozważanych systemów liczb pozycyjnych istnieją inne, na przykład:
1) Trójca
2) Czwartorzędowy
3) Dwunastkowy

Systemy pozycyjne dzielą się na jednorodne i mieszane.

Jednorodne systemy liczb pozycyjnych
Definicja podana na początku artykułu opisuje w miarę wyczerpująco układy jednorodne, zatem niepotrzebne są doprecyzowania.
Mieszane systemy liczbowe
Do podanej już definicji możemy dodać twierdzenie: „jeśli P=Q n (P,Q,n są liczbami całkowitymi dodatnimi, zaś P i Q są podstawami), to zapis dowolnej liczby w systemie liczb mieszanych (P-Q) jest identyczny pokrywa się z zapisaniem tej samej liczby w systemie liczbowym o podstawie Q.”

Na podstawie twierdzenia możemy sformułować zasady przejścia z układu P-tego do układu Q-tego i odwrotnie:

  1. Aby dokonać konwersji z Q-tej na P-tą, należy podzielić liczbę w systemie Q-tym na grupy n-cyfrowe, zaczynając od prawej cyfry i zastąpić każdą grupę jedną cyfrą w systemie P-tym .
  2. Aby dokonać konwersji z P-tego na Q-te, należy każdą cyfrę liczby w systemie P-tym zamienić na Q-tą i uzupełnić brakujące cyfry zerami wiodącymi, z wyjątkiem lewego, tak aby każda liczba w systemie o podstawie Q składa się z n cyfr.
Uderzającym przykładem jest konwersja z binarnego na ósemkowy. Weźmy liczbę binarną 10011110 2, aby zamienić ją na ósemkową - podzielimy ją od prawej do lewej na grupy po 3 cyfry: 010 011 110, teraz pomnóż każdą cyfrę przez 2 n, gdzie n jest liczbą cyfr, 010 011 110 = (0*2 2 +1 *2 1 +0*2 0) (0*2 2 +1*2 1 +1*2 0) (1*2 2 +1*2 1 +0*2 0) = 236 8 . Okazuje się, że 10011110 2 = 236 8. Aby obraz liczby dwójkowo-ósemkowej był jednoznaczny, dzieli się ją na trójki: 236 8 = (10 011 110) 2-8.

Mieszane systemy liczbowe to także na przykład:
1) Silnia
2) Fibonacciego

Konwersja z jednego systemu liczbowego na inny

Czasami trzeba przekonwertować liczbę z jednego systemu liczbowego na inny, więc przyjrzyjmy się sposobom konwersji między różnymi systemami.
Konwersja na system dziesiętny
W systemie liczbowym o podstawie b istnieje liczba a 1 a 2 a 3. Aby przejść do systemu 10., należy pomnożyć każdą cyfrę liczby przez bn, gdzie n jest liczbą cyfry. Zatem (a 1 a 2 a 3) b = (a 1 * b 2 + za 2 * b 1 + za 3 * b 0) 10.

Przykład: 101 2 = 1*2 2 + 0*2 1 + 1*2 0 = 4+0+1 = 5 10

Konwersja z systemu dziesiętnego na inny
Cała część:
  1. Część całkowitą liczby dziesiętnej dzielimy sukcesywnie przez podstawę systemu, na który konwertujemy, aż liczba dziesiętna będzie równa zero.
  2. Reszta otrzymana podczas dzielenia to cyfry żądanej liczby. Liczbę w nowym systemie zapisuje się zaczynając od ostatniej reszty.
Frakcja:
  1. Część ułamkową liczby dziesiętnej mnożymy przez podstawę systemu, na który chcemy dokonać konwersji. Oddziel całą część. Kontynuujemy mnożenie części ułamkowej przez podstawę nowego systemu, aż będzie równa 0.
  2. Liczby w nowym systemie składają się z całych części wyników mnożenia w kolejności odpowiadającej ich powstaniu.
Przykład: zamień 15 10 na ósemkowe:
15\8 = 1, reszta 7
1\8 = 0, reszta 1

Po zapisaniu wszystkich pozostałych od dołu do góry otrzymujemy końcową liczbę 17. Zatem 15 10 = 17 8.

Konwersja z systemu binarnego na ósemkowy i szesnastkowy
Aby dokonać konwersji na liczbę ósemkową, dzielimy liczbę binarną na grupy po 3 cyfry od prawej do lewej i uzupełniamy brakujące skrajne cyfry zerami wiodącymi. Następnie przekształcamy każdą grupę, mnożąc cyfry kolejno przez 2n, gdzie n jest numerem cyfry.

Weźmy na przykład liczbę 1001 2: 1001 2 = 001 001 = (0*2 2 + 0*2 1 + 1*2 0) (0*2 2 + 0*2 1 + 1*2 0) = ( 0+ 0+1) (0+0+1) = 11 8

Aby dokonać konwersji na liczbę szesnastkową, dzielimy liczbę binarną na grupy po 4 cyfry od prawej do lewej, a następnie analogicznie do konwersji z 2. na 8.

Konwersja z postaci ósemkowej i szesnastkowej na binarną
Konwersja z ósemkowego na binarny - każdą cyfrę liczby ósemkowej zamieniamy na liczbę binarną 3-cyfrową, dzieląc przez 2 (więcej informacji o dzieleniu znajdziesz w akapicie „Przeliczenie z systemu dziesiętnego na inny” powyżej), wypełnij brakujące skrajne cyfry z zerami na początku.

Rozważmy na przykład liczbę 45 8: 45 = (100) (101) = 100101 2

Tłumaczenie od 16 do 2 - każdą cyfrę liczby szesnastkowej konwertujemy na 4-cyfrową liczbę binarną, dzieląc przez 2, wypełniając brakujące cyfry zewnętrzne zerami wiodącymi.

Zamiana części ułamkowej dowolnego systemu liczbowego na dziesiętny

Konwersję przeprowadza się analogicznie jak w przypadku części całkowitych, z tą różnicą, że cyfry liczby mnoży się przez podstawę do potęgi „-n”, gdzie n zaczyna się od 1.

Przykład: 101,011 2 = (1*2 2 + 0*2 1 + 1*2 0), (0*2 -1 + 1*2 -2 + 1*2 -3) = (5), (0 + 0 0,25 + 0,125) = 5,375 10

Konwersja części ułamkowej binarnego na 8 i 16
Tłumaczenie części ułamkowej odbywa się w taki sam sposób, jak w przypadku całych części liczby, z tą tylko różnicą, że podział na grupy 3 i 4-cyfrowe odbywa się na prawo od przecinka, brakujące cyfry uzupełnia się zera po prawej stronie.

Przykład: 1001.01 2 = 001 001, 010 = (0*2 2 + 0*2 1 + 1*2 0) (0*2 2 + 0*2 1 + 1*2 0), (0*2 2 + 1 *2 1 + 0*2 0) = (0+0+1) (0+0+1), (0+2+0) = 11,2 8

Zamiana części ułamkowej systemu dziesiętnego na dowolną inną
Aby przekonwertować część ułamkową liczby na inne systemy liczbowe, należy zamienić całą część na zero i rozpocząć mnożenie powstałej liczby przez podstawę systemu, na który chcesz dokonać konwersji. Jeżeli w wyniku mnożenia ponownie pojawią się całe części, należy je ponownie wyzerować, po uprzednim zapamiętaniu (zapisaniu) wartości powstałej całości. Operacja kończy się, gdy część ułamkowa wynosi całkowicie zero.

Na przykład przekonwertujmy 10,625 10 na binarny:
0,625*2 = 1,25
0,250*2 = 0,5
0,5*2 = 1,0
Zapisując wszystkie reszty od góry do dołu, otrzymujemy 10,625 10 = (1010), (101) = 1010,101 2

Studiując kodowanie, zdałem sobie sprawę, że nie rozumiem wystarczająco dobrze systemów liczbowych. Niemniej jednak często korzystałem z systemów 2-, 8-, 10-, 16-tych, konwertowałem jeden na drugi, ale wszystko odbywało się „automatycznie”. Po przeczytaniu wielu publikacji zdziwił mnie brak jednego, prostego w języku artykułu na temat tak podstawowego materiału. Dlatego też zdecydowałem się napisać własną, w której starałem się w przystępny i uporządkowany sposób przedstawić podstawy systemów liczbowych.

Wstęp

Notacja to sposób zapisywania (reprezentowania) liczb.

Co to znaczy? Na przykład widzisz przed sobą kilka drzew. Twoim zadaniem jest je policzyć. W tym celu można zgiąć palce, zrobić na kamieniu nacięcia (jedno drzewo - jeden palec/wycięcie) lub połączyć 10 drzew jakimś przedmiotem, np. kamieniem i pojedynczym okazem patyczkiem i umieścić je na ziemi, jak policzysz. W pierwszym przypadku liczba jest reprezentowana jako ciąg zgiętych palców lub nacięć, w drugim - kompozycja kamieni i patyków, gdzie kamienie znajdują się po lewej stronie, a patyki po prawej

Systemy liczbowe dzielą się na pozycyjne i niepozycyjne, a pozycyjne z kolei na jednorodne i mieszane.

Niepozycyjny- najstarszy, w nim każda cyfra liczby ma wartość niezależną od jej położenia (cyfry). Oznacza to, że jeśli masz 5 linii, liczba wynosi również 5, ponieważ każda linia, niezależnie od jej miejsca w linii, odpowiada tylko 1 pozycji.

System pozycyjny- znaczenie każdej cyfry zależy od jej pozycji (cyfry) w liczbie. Na przykład znany nam system liczb 10. jest pozycyjny. Rozważmy liczbę 453. Liczba 4 oznacza liczbę setek i odpowiada liczbie 400, 5 - liczbie dziesiątek i jest zbliżone do wartości 50, a 3 - jedności i wartości 3. Jak widać, im większa cyfra, tym wyższa wartość. Ostateczną liczbę można przedstawić jako sumę 400+50+3=453.

System jednorodny- dla wszystkich cyfr (pozycji) liczby zbiór prawidłowych znaków (cyfr) jest taki sam. Jako przykład weźmy wspomniany wcześniej system 10. Zapisując liczbę w jednorodnym systemie 10-tym, w każdej cyfrze można użyć tylko jednej cyfry od 0 do 9, zatem dozwolona jest liczba 450 (1. cyfra - 0, 2. - 5, 3. - 4), ale 4F5 nie, ponieważ znak F nie należy do zbioru cyfr od 0 do 9.

System mieszany- w każdej cyfrze (pozycji) numeru zbiór ważnych znaków (cyfr) może różnić się od zbiorów pozostałych cyfr. Uderzającym przykładem jest system pomiaru czasu. W kategorii sekund i minut możliwych jest 60 różnych symboli (od „00” do „59”), w kategorii godzin – 24 różne symbole (od „00” do „23”), w kategorii dnia – 365 itp.

Systemy niepozycyjne

Gdy tylko ludzie nauczyli się liczyć, pojawiła się potrzeba zapisywania liczb. Na początku wszystko było proste – wycięcie lub kreska na jakiejś powierzchni odpowiadała jednemu przedmiotowi, na przykład jednemu owocowi. Tak powstał pierwszy system liczbowy – jednostka.
System numeracji jednostek
Liczba w tym systemie liczbowym to ciąg kresek (pałeczek), których liczba jest równa wartości danej liczby. Zatem zbiór 100 daktyli będzie równy liczbie składającej się ze 100 kresek.
Ale ten system ma oczywiste niedogodności - im większa liczba, tym dłuższy sznur patyków. Ponadto podczas zapisywania liczby można łatwo popełnić błąd, przypadkowo dodając dodatkowy patyczek lub odwrotnie, nie zapisując go.

Dla wygody ludzie zaczęli grupować patyki po 3, 5 i 10 sztuk. Jednocześnie każda grupa odpowiadała konkretnemu znakowi lub przedmiotowi. Początkowo do liczenia używano palców, dlatego pierwsze znaki pojawiły się dla grup po 5 i 10 sztuk (jednostek). Wszystko to umożliwiło stworzenie wygodniejszych systemów rejestracji numerów.

Starożytny egipski system dziesiętny
W starożytnym Egipcie do przedstawienia liczb 1, 10, 10 2, 10 3, 10 4, 10 5, 10 6, 10 7 używano specjalnych symboli (cyfr). Tutaj jest kilka z nich:

Dlaczego nazywa się to dziesiętnym? Jak wspomniano powyżej, ludzie zaczęli grupować symbole. W Egipcie wybrali grupę 10 osób, pozostawiając liczbę „1” bez zmian. W tym przypadku liczba 10 nazywana jest podstawowym systemem liczb dziesiętnych, a każdy symbol jest w pewnym stopniu reprezentacją liczby 10.

Liczby w starożytnym egipskim systemie liczbowym zapisano jako ich kombinację
znaków, z których każdy został powtórzony nie więcej niż dziewięć razy. Ostateczna wartość była równa sumie elementów liczby. Warto zauważyć, że ten sposób uzyskiwania wartości jest charakterystyczny dla każdego niepozycyjnego systemu liczbowego. Przykładem może być liczba 345:

Babiloński system sześćdziesiętny
W przeciwieństwie do egipskiego, system babiloński używał tylko dwóch symboli: „prostego” klina do oznaczania jednostek i „leżącego” klina do reprezentowania dziesiątek. Aby określić wartość liczby, należy podzielić obraz liczby na cyfry od prawej do lewej. Nowe wyładowanie rozpoczyna się od pojawienia się prostego klina po leżącym. Weźmy na przykład liczbę 32:

Liczba 60 i wszystkie jej potęgi są również oznaczone prostym klinem, na przykład „1”. Dlatego babiloński system liczbowy nazwano sześćdziesiętnym.
Babilończycy zapisali wszystkie liczby od 1 do 59 w dziesiętnym systemie niepozycyjnym, a duże wartości w systemie pozycyjnym o podstawie 60. Liczba 92:

Zapis liczby był niejednoznaczny, ponieważ nie było cyfry wskazującej zero. Przedstawienie liczby 92 może oznaczać nie tylko 92=60+32, ale także np. 3632=3600+32. Aby określić wartość bezwzględną liczby, wprowadzono specjalny symbol wskazujący brakującą cyfrę sześćdziesiętną, co odpowiada występowaniu liczby 0 w zapisie liczb dziesiętnych:

Teraz liczbę 3632 należy zapisać jako:

Babiloński system sześćdziesiętny jest pierwszym systemem liczbowym opartym częściowo na zasadzie pozycyjnej. Ten system liczbowy jest nadal używany na przykład przy określaniu czasu - godzina składa się z 60 minut, a minuta składa się z 60 sekund.

System rzymski
System rzymski nie różni się zbytnio od egipskiego. Używa wielkich liter łacińskich I, V, X, L, C, D i M do przedstawienia odpowiednio liczb 1, 5, 10, 50, 100, 500 i 1000. Liczba w systemie liczb rzymskich to zbiór kolejnych cyfr.

Metody określania wartości liczby:

  1. Wartość liczby jest równa sumie wartości jej cyfr. Na przykład liczba 32 w systemie liczb rzymskich to XXXII=(X+X+X)+(I+I)=30+2=32
  2. Jeśli na lewo od większej cyfry znajduje się mniejsza, wówczas wartość jest równa różnicy między większą i mniejszą cyfrą. Jednocześnie lewa cyfra może być mniejsza od prawej maksymalnie o jeden rząd wielkości: na przykład tylko X(10) może pojawić się przed L(50) i C(100) wśród „najniższych” , i tylko przed D(500) i M(1000) C(100), przed V(5) - tylko I(1); liczba 444 w rozważanym systemie liczbowym zostanie zapisana jako CDXLIV = (D-C)+(L-X)+(V-I) = 400+40+4=444.
  3. Wartość jest równa sumie wartości grup i liczb, które nie pasują do punktów 1 i 2.
Oprócz cyfrowych istnieją również systemy liczbowe literowe (alfabetyczne), oto niektóre z nich:
1) słowiański
2) grecki (joński)

Pozycyjne systemy liczbowe

Jak wspomniano powyżej, pierwsze przesłanki powstania systemu pozycyjnego powstały w starożytnym Babilonie. W Indiach system przyjął formę pozycyjnego numerowania dziesiętnego z wykorzystaniem zera, a od Hindusów ten system liczbowy został zapożyczony przez Arabów, od których przejęli go Europejczycy. Z jakiegoś powodu w Europie do tego systemu przypisano nazwę „Arab”.
Dziesiętny system liczbowy
Jest to jeden z najpowszechniejszych systemów liczbowych. Tego właśnie używamy, gdy podajemy cenę produktu i numer autobusu. W każdej cyfrze (pozycji) może znajdować się tylko jedna cyfra z zakresu od 0 do 9. Podstawą systemu jest liczba 10.

Weźmy na przykład liczbę 503. Gdyby tę liczbę zapisano w systemie niepozycyjnym, to jej wartość wyniosłaby 5+0+3 = 8. Ale mamy system pozycyjny, a to oznacza, że ​​każda cyfra liczby musi być pomnożona przez podstawę systemu, w tym przypadku liczbę „10”, podniesioną do potęgi równej liczbie cyfry. Okazuje się, że wartość wynosi 5*10 2 + 0*10 1 + 3*10 0 = 500+0+3 = 503. Aby uniknąć nieporozumień podczas pracy z kilkoma systemami liczbowymi jednocześnie, podstawa jest oznaczona jako indeks dolny. Zatem 503 = 503 10.

Oprócz systemu dziesiętnego na szczególną uwagę zasługują systemy 2, 8 i 16.

Binarny system liczbowy
System ten jest stosowany głównie w informatyce. Dlaczego nie użyli zwykłej 10-tki? Pierwszy komputer został stworzony przez Blaise'a Pascala, który posługiwał się systemem dziesiętnym, co okazało się niewygodne we współczesnych maszynach elektronicznych, gdyż wymagało wyprodukowania urządzeń zdolnych do pracy w 10 stanach, co podniosło ich cenę i ostateczny rozmiar maszyna. Elementy pracujące w systemie II nie posiadają tych mankamentów. Jednakże system, o którym mowa, powstał na długo przed wynalezieniem komputerów i ma swoje „korzenie” w cywilizacji Inków, gdzie stosowano kipu – skomplikowane sploty i węzły lin.

Binarny system liczb pozycyjnych ma podstawę 2 i używa 2 symboli (cyfr) do zapisywania liczb: 0 i 1. W każdej cyfrze dozwolona jest tylko jedna cyfra - 0 lub 1.

Przykładem jest liczba 101. Jest ona podobna do liczby 5 w systemie dziesiętnym. Aby zamienić liczbę 2 na 10, należy pomnożyć każdą cyfrę liczby binarnej przez podstawę „2” podniesioną do potęgi równej wartości miejsca. Zatem liczba 101 2 = 1*2 2 + 0*2 1 + 1*2 0 = 4+0+1 = 5 10.

Cóż, w przypadku maszyn drugi system liczbowy jest wygodniejszy, ale często widzimy i używamy liczb w systemie 10-tym na komputerze. W jaki sposób maszyna określa, jaki numer wprowadza użytkownik? Jak tłumaczy liczbę z jednego systemu na drugi, skoro ma tylko 2 symbole - 0 i 1?

Aby komputer mógł pracować z liczbami binarnymi (kodami), muszą one być gdzieś przechowywane. Do przechowywania każdej pojedynczej cyfry używany jest wyzwalacz, który jest obwodem elektronicznym. Może znajdować się w 2 stanach, z których jeden odpowiada zeru, drugi jednemu. Do zapamiętania pojedynczej liczby używany jest rejestr - grupa wyzwalaczy, których liczba odpowiada liczbie cyfr liczby binarnej. A zestawem rejestrów jest RAM. Liczba zawarta w rejestrze jest słowem maszynowym. Operacje arytmetyczne i logiczne na słowach wykonywane są przez jednostkę arytmetyczno-logiczną (ALU). Aby ułatwić dostęp do rejestrów, są one ponumerowane. Numer ten nazywany jest adresem rejestrowym. Przykładowo, jeśli trzeba dodać 2 liczby, wystarczy wskazać numery komórek (rejestrów), w których się one znajdują, a nie same liczby. Adresy są zapisywane w systemie ósemkowym i szesnastkowym (zostaną one omówione poniżej), ponieważ przejście z nich do systemu binarnego i z powrotem jest dość proste. Aby przenieść z 2. na 8., liczbę należy podzielić na grupy po 3 cyfry od prawej do lewej, a aby przejść do 16. - 4. Jeśli w skrajnej lewej grupie cyfr nie ma wystarczającej liczby cyfr, są one wypełnione od lewej zerami, które nazywane są wiodącymi. Weźmy jako przykład liczbę 101100 2. W systemie ósemkowym jest to 101 100 = 54 8, a w systemie szesnastkowym jest to 0010 1100 = 2C 16. Świetnie, ale dlaczego na ekranie widzimy cyfry i litery dziesiętne? Po naciśnięciu klawisza do komputera przesyłana jest pewna sekwencja impulsów elektrycznych, a każdy symbol ma swoją własną sekwencję impulsów elektrycznych (zera i jedyneki). Program sterownika klawiatury i ekranu uzyskuje dostęp do tabeli kodów znaków (na przykład Unicode, który umożliwia zakodowanie 65536 znaków), określa, któremu znakowi odpowiada wynikowy kod i wyświetla go na ekranie. W ten sposób teksty i liczby są przechowywane w pamięci komputera w kodzie binarnym i programowo konwertowane na obrazy na ekranie.

System liczb ósemkowych
System liczb ósmych, podobnie jak system binarny, jest często używany w technologii cyfrowej. Ma podstawę 8 i używa cyfr od 0 do 7 do zapisywania liczb.

Przykład liczby ósemkowej: 254. Aby dokonać konwersji do systemu 10, każdą cyfrę pierwotnej liczby należy pomnożyć przez 8 n, gdzie n jest liczbą cyfr. Okazuje się, że 254 8 = 2*8 2 + 5*8 1 + 4*8 0 = 128+40+4 = 172 10.

Szesnastkowy system liczbowy
System szesnastkowy jest szeroko stosowany we współczesnych komputerach, na przykład służy do oznaczania koloru: #FFFFFF - biały. System, o którym mowa, ma podstawę 16 i używa do zapisu następujących liczb: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B. C, D, E, F, gdzie litery to odpowiednio 10, 11, 12, 13, 14, 15.

Weźmy jako przykład liczbę 4F5 16. Aby przejść do systemu ósemkowego, najpierw zamieniamy liczbę szesnastkową na binarną, a następnie dzieląc ją na grupy po 3 cyfry, na ósemkową. Aby przekonwertować liczbę na 2, musisz przedstawić każdą cyfrę jako 4-bitową liczbę binarną. 4F5 16 = (100 1111 101) 2 . Ale w grupach 1 i 3 nie ma wystarczającej liczby cyfr, więc wypełnijmy każdą zerami wiodącymi: 0100 1111 0101. Teraz musisz podzielić wynikową liczbę na grupy po 3 cyfry od prawej do lewej: 0100 1111 0101 = 010 011 110 101 Przekształćmy każdą grupę binarną na system ósemkowy, mnożąc każdą cyfrę przez 2 n, gdzie n jest cyfrą: (0*2 2 +1*2 1 +0*2 0) (0*2 2 +1*2 1 +1*2 0) (1*2 2 +1*2 1 +0*2 0) (1*2 2 +0*2 1 +1*2 0) = 2365 8 .

Oprócz rozważanych systemów liczb pozycyjnych istnieją inne, na przykład:
1) Trójca
2) Czwartorzędowy
3) Dwunastkowy

Systemy pozycyjne dzielą się na jednorodne i mieszane.

Jednorodne systemy liczb pozycyjnych
Definicja podana na początku artykułu opisuje w miarę wyczerpująco układy jednorodne, zatem niepotrzebne są doprecyzowania.
Mieszane systemy liczbowe
Do podanej już definicji możemy dodać twierdzenie: „jeśli P=Q n (P,Q,n są liczbami całkowitymi dodatnimi, zaś P i Q są podstawami), to zapis dowolnej liczby w systemie liczb mieszanych (P-Q) jest identyczny pokrywa się z zapisaniem tej samej liczby w systemie liczbowym o podstawie Q.”

Na podstawie twierdzenia możemy sformułować zasady przejścia z układu P-tego do układu Q-tego i odwrotnie:

  1. Aby dokonać konwersji z Q-tej na P-tą, należy podzielić liczbę w systemie Q-tym na grupy n-cyfrowe, zaczynając od prawej cyfry i zastąpić każdą grupę jedną cyfrą w systemie P-tym .
  2. Aby dokonać konwersji z P-tego na Q-te, należy każdą cyfrę liczby w systemie P-tym zamienić na Q-tą i uzupełnić brakujące cyfry zerami wiodącymi, z wyjątkiem lewego, tak aby każda liczba w systemie o podstawie Q składa się z n cyfr.
Uderzającym przykładem jest konwersja z binarnego na ósemkowy. Weźmy liczbę binarną 10011110 2, aby zamienić ją na ósemkową - podzielimy ją od prawej do lewej na grupy po 3 cyfry: 010 011 110, teraz pomnóż każdą cyfrę przez 2 n, gdzie n jest liczbą cyfr, 010 011 110 = (0*2 2 +1 *2 1 +0*2 0) (0*2 2 +1*2 1 +1*2 0) (1*2 2 +1*2 1 +0*2 0) = 236 8 . Okazuje się, że 10011110 2 = 236 8. Aby obraz liczby dwójkowo-ósemkowej był jednoznaczny, dzieli się ją na trójki: 236 8 = (10 011 110) 2-8.

Mieszane systemy liczbowe to także na przykład:
1) Silnia
2) Fibonacciego

Konwersja z jednego systemu liczbowego na inny

Czasami trzeba przekonwertować liczbę z jednego systemu liczbowego na inny, więc przyjrzyjmy się sposobom konwersji między różnymi systemami.
Konwersja na system dziesiętny
W systemie liczbowym o podstawie b istnieje liczba a 1 a 2 a 3. Aby przejść do systemu 10., należy pomnożyć każdą cyfrę liczby przez bn, gdzie n jest liczbą cyfry. Zatem (a 1 a 2 a 3) b = (a 1 * b 2 + za 2 * b 1 + za 3 * b 0) 10.

Przykład: 101 2 = 1*2 2 + 0*2 1 + 1*2 0 = 4+0+1 = 5 10

Konwersja z systemu dziesiętnego na inny
Cała część:
  1. Część całkowitą liczby dziesiętnej dzielimy sukcesywnie przez podstawę systemu, na który konwertujemy, aż liczba dziesiętna będzie równa zero.
  2. Reszta otrzymana podczas dzielenia to cyfry żądanej liczby. Liczbę w nowym systemie zapisuje się zaczynając od ostatniej reszty.
Frakcja:
  1. Część ułamkową liczby dziesiętnej mnożymy przez podstawę systemu, na który chcemy dokonać konwersji. Oddziel całą część. Kontynuujemy mnożenie części ułamkowej przez podstawę nowego systemu, aż będzie równa 0.
  2. Liczby w nowym systemie składają się z całych części wyników mnożenia w kolejności odpowiadającej ich powstaniu.
Przykład: zamień 15 10 na ósemkowe:
15\8 = 1, reszta 7
1\8 = 0, reszta 1

Po zapisaniu wszystkich pozostałych od dołu do góry otrzymujemy końcową liczbę 17. Zatem 15 10 = 17 8.

Konwersja z systemu binarnego na ósemkowy i szesnastkowy
Aby dokonać konwersji na liczbę ósemkową, dzielimy liczbę binarną na grupy po 3 cyfry od prawej do lewej i uzupełniamy brakujące skrajne cyfry zerami wiodącymi. Następnie przekształcamy każdą grupę, mnożąc cyfry kolejno przez 2n, gdzie n jest numerem cyfry.

Weźmy na przykład liczbę 1001 2: 1001 2 = 001 001 = (0*2 2 + 0*2 1 + 1*2 0) (0*2 2 + 0*2 1 + 1*2 0) = ( 0+ 0+1) (0+0+1) = 11 8

Aby dokonać konwersji na liczbę szesnastkową, dzielimy liczbę binarną na grupy po 4 cyfry od prawej do lewej, a następnie analogicznie do konwersji z 2. na 8.

Konwersja z postaci ósemkowej i szesnastkowej na binarną
Konwersja z ósemkowego na binarny - każdą cyfrę liczby ósemkowej zamieniamy na liczbę binarną 3-cyfrową, dzieląc przez 2 (więcej informacji o dzieleniu znajdziesz w akapicie „Przeliczenie z systemu dziesiętnego na inny” powyżej), wypełnij brakujące skrajne cyfry z zerami na początku.

Rozważmy na przykład liczbę 45 8: 45 = (100) (101) = 100101 2

Tłumaczenie od 16 do 2 - każdą cyfrę liczby szesnastkowej konwertujemy na 4-cyfrową liczbę binarną, dzieląc przez 2, wypełniając brakujące cyfry zewnętrzne zerami wiodącymi.

Zamiana części ułamkowej dowolnego systemu liczbowego na dziesiętny

Konwersję przeprowadza się analogicznie jak w przypadku części całkowitych, z tą różnicą, że cyfry liczby mnoży się przez podstawę do potęgi „-n”, gdzie n zaczyna się od 1.

Przykład: 101,011 2 = (1*2 2 + 0*2 1 + 1*2 0), (0*2 -1 + 1*2 -2 + 1*2 -3) = (5), (0 + 0 0,25 + 0,125) = 5,375 10

Konwersja części ułamkowej binarnego na 8 i 16
Tłumaczenie części ułamkowej odbywa się w taki sam sposób, jak w przypadku całych części liczby, z tą tylko różnicą, że podział na grupy 3 i 4-cyfrowe odbywa się na prawo od przecinka, brakujące cyfry uzupełnia się zera po prawej stronie.

Przykład: 1001.01 2 = 001 001, 010 = (0*2 2 + 0*2 1 + 1*2 0) (0*2 2 + 0*2 1 + 1*2 0), (0*2 2 + 1 *2 1 + 0*2 0) = (0+0+1) (0+0+1), (0+2+0) = 11,2 8

Zamiana części ułamkowej systemu dziesiętnego na dowolną inną
Aby przekonwertować część ułamkową liczby na inne systemy liczbowe, należy zamienić całą część na zero i rozpocząć mnożenie powstałej liczby przez podstawę systemu, na który chcesz dokonać konwersji. Jeżeli w wyniku mnożenia ponownie pojawią się całe części, należy je ponownie wyzerować, po uprzednim zapamiętaniu (zapisaniu) wartości powstałej całości. Operacja kończy się, gdy część ułamkowa wynosi całkowicie zero.

Na przykład przekonwertujmy 10,625 10 na binarny:
0,625*2 = 1,25
0,250*2 = 0,5
0,5*2 = 1,0
Zapisując wszystkie reszty od góry do dołu, otrzymujemy 10,625 10 = (1010), (101) = 1010,101 2



© 2024 skypenguin.ru - Wskazówki dotyczące opieki nad zwierzętami