Sistemul numeric pozițional

Sistemul de numere poziționale ( numerare pozițională, locală ) este un sistem de numere în care valoarea fiecărui caracter numeric ( cifră ) dintr- o intrare numerică depinde de poziția sa ( cifra ) față de separatorul zecimal . Sistemele poziționale, în comparație cu altele, fac posibilă simplificarea semnificativă a algoritmilor pentru efectuarea operațiilor aritmetice și accelerarea calculelor. Crearea și distribuția lor a jucat un rol important în dezvoltarea științelor exacte - matematică , astronomie și fizică .

Sisteme numerice în cultură
indo-arabă
arabă
tamilă
birmană
Khmer
Lao
Mongolian
Thai
Est asiatic
Chineză
Japoneză
Suzhou
Coreeană
Bețe de numărat vietnameze
Alfabetic
Abjadia
armeană
Aryabhata greacă
chirilică
Akshara Sankhya , evreică
etiopiană georgiană

Alte
babilonian
egiptean
etrusc
roman
danubian
Attic
Kipu
Mayan
Aegean
KPPU Simboluri
pozițional
2 , 3 , 4 , 5 , 6 , 8 , 10 , 12 , 16 , 20 , 60
Nega-pozițional
simetric
sisteme mixte
Fibonacci
nepozițională
Singular (unar)

Istorie

Din punct de vedere istoric, prima invenție a numerotării poziționale bazată pe semnificația locală a numerelor este atribuită sumerienilor și babilonienilor . Indiferent de civilizațiile eurasiatice , sistemul numeric pozițional vigesimal a fost inventat de indienii Maya . Într-o perioadă ulterioară, o astfel de numerotare a fost dezvoltată de hinduși și a avut consecințe inestimabile în istoria civilizației . Aceste sisteme includ sistemul numeric zecimal , a cărui apariție este asociată cu numărarea pe degete . În Europa medievală, a apărut prin negustorii italieni, care la rândul lor l-au împrumutat de la arabi.

Definiții

Sistemul numeric pozițional este definit de un număr întreg , numit baza sistemului numeric. Un sistem numeric cu o bază se mai numește și -ary (în special, binar , ternar , zecimal etc.).

Un întreg fără semn în sistemul de numere -ari este reprezentat ca o combinație liniară finită de puteri ale numărului [1] :

, unde  sunt numere întregi, numite cifre , care satisfac inegalitatea

Fiecare element de bază dintr-o astfel de reprezentare se numește cifră ( poziția ), vechimea cifrelor și a cifrelor corespunzătoare acestora este determinată de numărul cifrei (poziția) (valoarea exponentului).

Folosind pozițiile din sistemul numeric -ary, puteți scrie numere întregi în intervalul de la , adică toate numerele diferite.

Scrierea numerelor

Dacă nu există discrepanțe (de exemplu, atunci când toate cifrele sunt prezentate sub formă de caractere scrise unice), numărul este scris ca o secvență a cifrelor sale, enumerate în ordinea descrescătoare a priorității cifrelor de la stânga la dreapta [1 ] :

În numerele diferite de zero , zerourile de început sunt de obicei omise.

Pentru a scrie numere în sisteme numerice cu baza de până la 36 inclusiv, cifre arabe (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) și, apoi, litere ale alfabetului latin (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z). În acest caz, a = 10, b = 11 etc., uneori x = 10.

Când lucrați cu mai multe sisteme numerice în același timp, pentru a le distinge, baza sistemului este de obicei indicată ca un indice, care este scris în sistemul zecimal:

 este numărul 123 în notație zecimală ;  - același număr în sistemul de numere octale ;  - același număr, dar în sistem binar ;  - același număr, dar în sistemul numeric zecimal cu codificare binară a cifrelor zecimale ( BCD );  - același număr, dar într-un sistem numeric ternar asimetric ;  - același număr, dar în sistemul numeric ternar simetric , semnele „i”, „7”, „2” și „−” indică „−1”, semnele „1” și „+” indică „+1” .

În unele zone speciale, se aplică reguli speciale pentru specificarea bazei. De exemplu, în programare, sistemul hexazecimal este notat cu:

În unele dialecte ale limbii C, prin analogie cu „0x”, prefixul „0b” este folosit pentru a desemna numere binare (notația „0b” nu este inclusă în standardul ANSI C ).

În conturile rusești , pentru a scrie numere în sistemul de numere pozițional exponențial zecimal, sistemul de înregistrare (reprezentare) zecimal unar pentru cifre zecimale este utilizat cu o cifră zecimală unară în exces "1111111111" = 10_ 10 pentru fiecare cifră.

Exemple

Proprietăți

Sistemul de numere poziționale are o serie de proprietăți:

Astfel, ordinea naturală a numerelor corespunde ordinii lexicografice a intrărilor lor în sistemul numeric pozițional, cu condiția ca aceste intrări să fie umplute cu zerouri de început de aceeași lungime.

Economie

În tehnologia digitală , sistemul de numere de bază este implementat de registre , constând din seturi de flip- flops , fiecare dintre acestea putând lua diferite stări care codifică cifrele unui număr. În același timp, economia sistemului de numere este de o importanță deosebită - capacitatea de a reprezenta cât mai multe numere posibil folosind cel mai mic număr total posibil de caractere. [1] Dacă numărul de declanșatoare este , atunci numărul total de caractere este , iar numărul de numere pe care le reprezintă, respectiv, este . În funcție de , această expresie atinge maximul la un număr egal e = 2,718281828… . [3] Pentru valori întregi, maximul este atins pentru . Astfel, cel mai economic este sistemul numeric ternar (utilizat în calculatoarele ternare ), urmat de sistemul binar (utilizat în mod tradițional în majoritatea calculatoarelor obișnuite) și cuaternar.

Eficiența sistemului de numere este o circumstanță importantă din punctul de vedere al utilizării lui într-un computer. Prin urmare, deși utilizarea unui sistem ternar în locul unuia binar într-un computer implică unele dificultăți de proiectare (în acest caz, este necesar să se utilizeze elemente, fiecare dintre acestea putând fi în nu două, ci trei stări stabile), acest sistem a fost deja folosit [4] în unele dispozitive de calcul din viața reală. [unu]S. V. Fomin

O descriere echivalentă a economiei sistemului numeric poate fi obținută folosind conceptul de entropie informațională . Sub condiția echiprobabilității apariției fiecăreia dintre cifrele din înregistrarea numărului, entropia informațională a înregistrării unui număr de n biți în sistemul numeric cu baza b ia o valoare (până la un coeficient constant ). Prin urmare, densitatea de înregistrare (adică cantitatea de informații pe bit) a numerelor din sistemul numeric cu baza b este egală cu , care ia, de asemenea, o valoare maximă la b = e , iar pentru valorile întregi ale b - la b = 3.

Schimbați la o altă bază

Convertiți în sistemul numeric zecimal

Dacă un număr întreg în sistemul de numere -ari este egal cu

apoi pentru a converti în sistemul zecimal, calculăm următoarea sumă : [5]

sau ca diagrama lui Horner :

De exemplu:

Acțiuni similare au loc și pentru partea fracțională :

Traducere zecimală

întreaga parte
  1. Împărțiți secvențial ( iterativ ) partea întreagă a numărului zecimal la bază cu restul până când numărul zecimal (privat) devine zero.
  2. Resturile obtinute prin impartire sunt cifrele numarului dorit. Numărul din noul sistem este scris începând de la ultimul rest. [5] [6]
Partea fracționată
  1. Înmulțim partea fracționară a numărului zecimal cu baza sistemului în care doriți să traduceți și separăm întreaga parte. Continuăm să înmulțim partea fracțională cu baza noului sistem și să separăm partea întreagă până când numărul este exact 0.
  2. Cifrele fracționale din noul sistem de numere sunt părțile întregi obținute în prima etapă, care, scăzând în vechime de la cea mai semnificativă cifră a părții fracționale, merg în ordinea în care au fost și au fost primite.

Notă . Uneori, la traducerea unui număr rațional fracționar dintr-un sistem zecimal folosind astfel de algoritmi, se poate obține o fracție periodică infinită: de exemplu, . Pentru a găsi perioada, trebuie să efectuați iterațiile descrise în primul paragraf și să înțelegeți dacă se întâlnește aceeași parte fracțională așa cum a fost cu mai multe iterații în urmă [7] . (Fracțiile regulate din diferite sisteme de numere sunt scrise mai jos .)

Exemple

Să convertim în binar:

44 împărțit la 2. cât 22, rest 0 22 împărțit la 2. câtul 11, restul 0 11 împărțit la 2. câtul 5, restul 1 5 împărțit la 2. cât 2, rest 1 2 împărțit la 2. cât 1, rest 0 1 împărțit la 2. cât 0, rest 1

Coeficientul este zero - împărțirea s-a încheiat. Acum, scriind toate resturile de jos în sus, obținem numărul

Pentru partea fracționată, algoritmul arată astfel:

Înmulțiți 0,625 cu 2. Partea fracțională este 0,250. întreaga parte 1. Înmulțiți 0,250 cu 2. Partea fracțională este 0,500. Partea întreagă 0. Înmulțiți 0,500 cu 2. Partea fracțională este 0,000. întreaga parte 1.

În acest fel,

Convertirea de la sisteme binar la sisteme octale și hexazecimale

Există un algoritm simplificat pentru acest tip de operație. [opt]

Toată parte

Pentru octal, împărțim numărul tradus într-un număr de cifre egal cu puterea lui 2 (2 este ridicat la puterea necesară pentru a obține baza sistemului în care doriți să traduceți (2³ \u003d 8), în acest caz 3, adică triade). Să transformăm triadele conform tabelului de triade:

000 - 0; 100 - 4; 001 - 1; 101 - 5; 010 - 2; 110 - 6; 011 - 3; 111-7.

Pentru hexazecimal, împărțim numărul tradus într-un număr de cifre egal cu puterea lui 2 (2 este ridicat la puterea necesară pentru a obține baza sistemului în care doriți să traduceți (2 4 \u003d 16), în acest caz 4, adică tetrade). Să convertim tetradele conform tabelului de tetrade:

0000 - 0; 0100 - 4; 1000 - 8; 1100 - C; 0001 - 1; 0101 - 5; 1001 - 9; 1101 - D; 0010 - 2; 0110 - 6; 1010 - A; 1110 - E; 0011 - 3; 0111 - 7; 1011 - B; 1111-F.

Exemplu:

converti 101100 2 octal - 101 100 → 54 8 hexazecimal - 0010 1100 → 2C 16 Parte fracțională

Conversia părții fracționale din sistemul de numere binar în sistemele de numere cu bazele 8 și 16 se realizează exact în același mod ca și pentru părțile întregi ale numărului, cu singura excepție că defalcarea în octave și tetrade merge la la dreapta punctului zecimal, cifrele lipsă sunt completate cu zerouri la dreapta. De exemplu, numărul 1100.011 2 discutat mai sus ar arăta ca 14,3 8 sau C.6 16 .

Conversia din sisteme octale și hexazecimale în binar [8]

Pentru acest tip de operație, există și un algoritm simplificat, inversul algoritmului de mai sus .

Pentru octal, convertim conform tabelului în triplete:

0 000 4 100 1001 5101 2010 6 110 3011 7111

Pentru hexazecimal, convertim conform tabelului în cvartete:

0 0000 4 0100 8 1000 C 1100 1 0001 5 0101 9 1001 D 1101 2 0010 6 0110 A 1010 E 1110 3 0011 7 0111 B 1011 F 1111

Exemplu:

transforma 54 8 → 101 100 2 2C 16 → 0010 1100 2

Variații și generalizări

Scrierea numerelor raționale

Un număr rațional în sistemul de numere -ari este reprezentat ca o combinație liniară (în general, infinită) a puterilor numărului :

unde  - cifre ale părții întregi (înainte de separator ),  - cifre ale părții fracționale (după separator),  - numărul de cifre ale părții întregi.

Numai numerele raționale care pot fi reprezentate sub forma , unde și  sunt numere întregi, adică acelea care, după înmulțirea cu baza într-un număr finit de iterații, pot obține un întreg pot avea o notație finită în sistemul numeric -ary :

unde și sunt intrări -are, respectiv , ale coeficientului și restului împărțirii la .

Numerele raționale care nu pot fi reprezentate în formă sunt scrise ca fracții periodice .

Sisteme numerice simetrice

Sistemele numerice de bază simetrice (echilibrate, cu cifre de semn) diferă prin faptul că folosesc numere nu din mulțime , ci din setul în care, aproximativ vorbind, toate numerele sunt „reflectate” în raport cu zero. Pentru ca numerele să fie numere întregi, acestea trebuie să fie impare. În sistemele numerice simetrice, nu este necesară nicio notație suplimentară pentru semnul numărului. [9] În plus, calculele în sisteme simetrice sunt convenabile, deoarece nu sunt necesare reguli speciale de rotunjire  - rotunjirea la cel mai apropiat număr întreg se reduce la pur și simplu eliminarea biților suplimentari, ceea ce reduce drastic erorile sistematice în calcule.

Cel mai des folosit este sistemul numeric ternar simetric . Este folosit în logica ternară și a fost implementat tehnic în computerul Setun .

Baze negative

Există sisteme poziționale cu baze negative numite nonpoziționale :

  • −2  - sistem numeric nebinar ;
  • −3  — sistem de numere nega-ternar;
  • −10  — sistem de numere nega-zecimal.

Baze non-integer

Uneori sunt luate în considerare și sistemele de numere poziționale cu baze neîntregi: rațional , irațional , transcendental .

Exemple de astfel de sisteme numerice sunt:

Baze complexe

Bazele sistemelor de numere poziționale pot fi, de asemenea, numere complexe [11] [12] . În același timp, numerele din ele iau valori dintr-o mulțime finită care îndeplinește condițiile care vă permit să efectuați operații aritmetice direct cu reprezentările numerelor din aceste sisteme numerice.

În special, dintre sistemele de numere poziționale cu baze complexe se pot distinge cele binare, în care sunt folosite doar două cifre 0 și 1.

Exemple

În continuare, vom scrie sistemul numeric pozițional în următoarea formă , unde  este baza sistemului numeric și A  este mulțimea de cifre. În special, setul A poate arăta astfel:

  • unde si . Când , setul se transformă într - un set .

Exemple de sisteme de numere cu baze complexe sunt (denumite în continuare j  - unitate imaginară ):

Sisteme binare de numere complexe

Următoarele sunt bazele sistemelor binare de numere poziționale și reprezentările numerelor 2, −2 și −1 în ele:

  • : (sistem de numere cu bază naturală);
  • : , , (sistem numeric nepozițional);
  • : , , (sistem de numere cu bază complexă);
  • : , , (sistem de numere cu bază complexă);
  • : , , (sistem de numere cu bază complexă);
  • : , , (sistem de numere cu bază complexă).

Sisteme de numere neexponențiale

Sistemele de numere exponențiale sunt un caz special de sisteme de numere poziționale cu dependență exponențială . În loc de dependență exponențială, pot exista și alte dependențe. De exemplu, sistemul numeric pozițional hiperoperator

vă permite să scrieți intervale mai mari de numere cu același număr de caractere.

Note

  1. 1 2 3 4 S. V. Fomin . Sisteme numerice . — M .: Nauka, 1987. — 48 p. - ( Prelegeri populare despre matematică ). ( link alternativ Arhivat 2 iunie 2013 la Wayback Machine )
  2. Bitiukov Serghei. 13 sunete și intervale. Percepția și desemnarea lor. Frets de abatere și modulare  (rusă)  ? . Habr (7 august 2021). Preluat la 26 august 2021. Arhivat din original la 12 august 2021.
  3. Hayes, Brian. Baza a treia  (engleză)  // Om de știință american :revistă. - 2001. - Vol. 89 , nr. 6 . - P. 490-494 . doi : 10.1511 / 2001.40.3268 .
  4. Vezi Computer ternar .
  5. ↑ 1 2 Conversia numerelor dintr-un sistem numeric în altul online . matworld.ru . Preluat la 8 mai 2021. Arhivat din original la 9 mai 2021.
  6. Capitolul 4 - Fundamentele aritmetice ale calculatoarelor . mif.vspu.ru . Preluat la 8 mai 2021. Arhivat din original la 19 februarie 2020.
  7. Translatarea numerelor fracționale dintr-un sistem numeric în altul - lecție. Informatica, clasa a 11-a. . www.yaklass.ru _ Preluat la 8 mai 2021. Arhivat din original la 8 mai 2021.
  8. ↑ 1 2 Conversia numerelor din binar în octal și hexazecimal și invers . www.5byte.ru _ Preluat la 8 mai 2021. Arhivat din original la 15 mai 2021.
  9. S. B. Gashkov. Sistemele numerice și aplicațiile lor . - 2004. - 52 p. - ( Biblioteca „Educația matematică” ). — ISBN 5-94057-146-8 . Copie arhivată (link indisponibil) . Preluat la 8 martie 2008. Arhivat din original la 12 ianuarie 2014. 
  10. Sistemul A. V. Nikitin Bergman Copie de arhivă din 5 mai 2009 la Wayback Machine .
  11. 1 2 Khmelnik S. I. Calculator digital specializat pentru operații cu numere complexe  // Probleme de electronică radio. - 1964. - T. XII , nr. 2 .  (link indisponibil)
  12. 1 2 Knuth DE Un sistem numeric imaginar // Comunicarea ACM. - 1960. - V. 3 , nr 4 . - S. 245-247 . - doi : 10.1145/367177.367233 .
  13. 1 2 Khmelnik S.I. Codificarea numerelor complexe și a vectorilor . — Matematică în calculatoare. - Israel, 2004. - ISBN 978-0-557-74692-7 .
  14. Khmelnik S. I. Codarea pozițională a numerelor complexe  // Probleme de electronică radio. - 1966. - T. XII , nr. 9 .  (link indisponibil)
  15. Khmelnik S.I. Metoda și sistemul de prelucrare a numerelor complexe . - Brevet SUA, US2003154226 (A1). — 2001.

Link -uri