Curs 2 "Sisteme de calcul"
Totalitatea tehnicilor de numire și desemnarea numerelor se numește sistemul de calcul. Numerele sunt folosite ca semne condiționale pentru scrierea numerelor.
Un sistem de calcul în care valoarea fiecărei cifre într-un loc arbitrar într-o secvență de cifre care denotă un număr de înregistrare nu se modifică se numește non-poziție.
Sistemul de calcul, în care valoarea fiecărei cifre depinde de locul din secvența de cifre din înregistrarea numerelor, se numește poziționare.
Pentru a determina numărul, nu este suficient să cunoaștem tipul și alfabetul sistemului de calcul. Pentru a face acest lucru, trebuie să utilizați în continuare reguli care vă permit să setați valoarea unui număr după valorile cifrelor. Cea mai simplă modalitate de a scrie un număr natural este să îl afișați folosind un număr corespunzător de bastoane sau liniuțe. În acest fel, pot fi desemnate numere mici. Următorul pas a fost inventarea unor simboluri speciale (numere). Într-un sistem non-position, fiecare semn din înregistrare, indiferent de locație, înseamnă același număr. Un exemplu bine cunoscut este sistemul de calcul sistemul roman nonpositional, în care cifrele de rol alfabet: I - una, V - cinci X - zece, C - sute, L - cincizeci, D -pyatsot, M - mii. De exemplu, 324 = SSSHXI. În sistemul non-pozițional al calculului, operațiile aritmetice sunt incomode și dificil de efectuat.
Sisteme de poziționare de calcul
Comună în lumea modernă este sistemul de calcul al zecimalelor de calcul, care din India prin țările arabe a venit în Europa. Baza sistemului este numărul zece. Baza sistemului de calcul este un număr care înseamnă de câte ori unitatea următoarei cifre este mai mare decât cea din cea precedentă.
O formă comună de scriere a unui număr este forma abreviată a înregistrării de expansiune în puterea bazei calculului, de exemplu
130678 = 1 * 10 5 + 3 * 10 4 + 0 * 10 3 + 6 * 10 2 + 7 * 10 1 + 8
Aici 10 servește ca bază a sistemului de calcul, iar exponentul este numărul poziției digitale din înregistrarea numărului (numerotarea este lăsată la dreapta, pornind de la zero). Operațiile aritmetice în acest sistem sunt realizate în conformitate cu regulile propuse în Evul Mediu. De exemplu, adăugând două numere multivate, aplicăm regulile de adăugare în coloană. În acest caz, totul se bazează pe adăugarea de numere cu valoare unică, pentru care este necesar să se cunoască tabelul de adăugare.
Problema alegerii unui sistem de calcul pentru reprezentarea numerelor în memoria calculatorului este de mare importanță practică. În cazul selecției se realizează de obicei cerințe, cum ar fi fiabilitatea reprezentarea numerelor folosind elemente fizice, eficiența (utilizarea unui astfel de sistem de calcul în care numărul de elemente pentru a reprezenta numere ar fi dintr-un anumit interval minim). Pentru a reprezenta numere întregi de la 1 la 999 în sistemul zecimal, sunt suficiente trei cifre, adică trei elemente. Pentru că fiecare element poate fi în zece state, numărul total de state - 30, în sistemul binar: 99910 = 11111002. numărul necesar de state este de 20 (indicele din partea de jos a numărului este baza sistemului de calcul).
Mai frecvent pentru reprezentarea numerelor din memoria calculatorului este sistemul binar de calcul. Pentru a reprezenta numerele în acest sistem, aveți nevoie de două cifre: 0 și 1, adică două stări persistente ale elementelor fizice. Acest sistem este aproape de economia optimă și, în plus, tabelele de adăugare și multiplicare din acest sistem sunt elementare:
Pentru depanare și alte situații în programarea problema reală este traducerea numerelor dintr-un sistem numeric pozițional la altul. În cazul în care baza unui nou sistem de calcul este egal cu o anumită măsură, vechiul sistem de calcul, algoritmul de traducere este foarte simplu: este necesar să se grupeze biți de la dreapta la stânga într-o cantitate egală cu exponent și înlocuirea acestui grup de biți printr-un simbol al unui nou sistem de calcul. Acest algoritm este convenabil de a utiliza atunci când transferul de numere din binar octal sistem de numerotare sau hexazecimal. De exemplu, 101102 = 10110 = 268. 10111002 = 1011100 = 5C8
Traducere de numere octale sau sisteme binare hexazecimale are loc în regula invers: un caracter de grup la vechiul sistem contabil se înlocuiește cu biți ale noului sistem de numerotare, într-o cantitate egală cu exponent al noului sistem de numerotare. De exemplu, 4728 = 100111010 = 1001110102. B516 = 10110101 = 101101012
După cum vedem, dacă baza unui sistem de calcul este egală cu un alt grad, atunci traducerea este foarte simplă. În caz contrar, utilizarea de reguli de traducere de la un sistem de numerotare pozițional la altul (de obicei, în traducerea sistemelor de notație shshestnadtsatirichnoy zecimale binar, octal și, și vice-versa).
Algoritmi pentru traducerea numerelor de la un sistem de poziție la altul
1. Pentru a traduce numere din sistemul de numerotare cu baza p în sistemul numeric cu q de bază, folosind aritmetică a noului sistem de contabilitate cu q de bază, trebuie să înregistreze coeficienții de dilatare, pe baza gradului și a exponenților în sistem cu q de bază și de a efectua toate acțiunile din sistem în sine . Evident, această regulă este convenabilă atunci când traducem în sistemul zecimal al calculului. De exemplu:
de la hexazecimal la zecimal:
de la octal la zecimal:
de la binar la zecimal:
2. Pentru a traduce numere din sistemul de numerotare cu baza p în baza de calcul a unui q folosind sistemul de numerotare aritmetică vechi cu baza p,:
- pentru a traduce întreaga parte:
- succesiv, numărul înregistrat în sistem este divizat în baza noului sistem de calcul, subliniind restul. Ultimul înregistrat în ordine inversă va forma un număr în noul sistem de calcul;
- pentru traducerea părții fracționare:
- înmulțirea secvențial partea fracționară calcularea pe baza noului sistem, alocarea de părți întregi, care vor forma o înregistrare a părții fracționară a noului calcul.
Aceeași regulă este convenabilă pentru a fi folosită în cazul traducerii din sistemul zecimal al calculului, deoarece aritmetica sa este cunoscută de noi.
Exemplu: 999,3510 = 1111100111,010112
pentru întreaga parte:
pentru partea fracționată:
Întrebări de test
- Care este sistemul de calcul?
- Ce tipuri de sisteme știți?
- Care este baza sistemului de calcul pozițional?
- Care este problema alegerii unui sistem de calcul pentru reprezentarea numerelor în memoria calculatorului?
- Ce calcul este utilizat pentru a reprezenta numerele în memoria calculatorului? De ce?
- Cum se efectuează traducerea numerelor, dacă baza noului sistem de calcul este egală cu un anumit grad al sistemului vechi de calcul?
- Prin ce regulă se fac numere din sistemul zecimal de numere