Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

CATEGORII DOCUMENTE





AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Baze de numeratie

c

+ Font mai mare | - Font mai mic







DOCUMENTE SIMILARE

Trimite pe Messenger
Cautare in tabele
MULTIMI SI DICTIONARE - TIPUL ABSTRACT 'MULTIME'
Elemente de baza ale POO
Tablouri de pointeri, pointeri pe pointeri
Intrarea formatata-scanf
Pointeri si adrese
Operatori logici pe biti
Pointeri si argumente de functii
Operatii asupra listei liniare simplu inlantuite
Operatori si expresii de asignare

TERMENI importanti pentru acest document

Baze de numeratie

Omul, din cele mai vechi timpuri incerca sa realizeze masuratori sau comparatii. Deoarece intelesurile 'mai inalt ca' sau' mai mare ca' nu erau suficiente a trebuit sa introduca numere pentru a putea exprima aceste lucruri. Era usor de spus ca un obiect era de doua ori mai mic ca altul sau de trei ori mai valoros. Aceste comparatii sau masuratori se faceau uneori intre obiecte destul de diferite intre ele si erau specifice trocului. (ex. iti dau 8 bucati mari de sare pentru un miel etc.).



In vechime oamenii socoteau pe degetele de la maini, astfel ca avand zece degete erau capabili sa realizeze operatii cu valori pana la zece. Evident ca, pentru a nu tine minte prea multe lucruri trebuiau sa-si noteze calculate realizate. Exista mai multe solutii care rezolvau problema. Cea mai simpla spunea sa scrie un semn pentru fiecare unitate (de ex. pentru 3 obiecte erau desenate fie | | |, fie ooo sau orice alt semn). Pentru a putea reprezenta valori mai mari, trebuiau pur si simplu scrise prea multe astfel de simboluri a. i. Ideea rea de a nascocii alte simboluri care sa reprezinte valorile mai mari. Astfel, romanii foloseau diferite simboluri pentru a indica diferite 'ponderi' ale valorilor (ex. V pentru 5, X pentru 10, L pentru 50). Aceasta metoda s-a dovedit a fi greoaie deoarece operatiile simple erau destul de greu de realizat (de exemplu adunati MCLIV cu CMIX).

O alta idee era de a folosi cate un simbol diferit pentru fiecare valoare de reprezentat, scrierea araba (care de fapt este la origine chinezeasca). Astfel avem simbolurile 0, 1, 2, 3,, 9 (deci in total 10). Numerele mai mari ca10 erau scrise pe pozitia a doua sau mai mare in numar (astfel ca de fapt 23 nu insemna 2 obiecte si inca 3 ci de doua ori 10 obiecte si inca 3). Acest stil de a scrie valori este folosit si in zilele noastre si este cunoscut de catre toata lumea.

Un numar de mai multe cifre scris in baza 10 de forma:

(1)

poate fi vazul ca o suma de produse de forma

(2)

Se observa ca, in expresia de mai sus valoarea 10 este constanta si de fapt reprezinta baza de numeratie folosita.

Baza de numeratie este o valoare care indica numarul de simboluri folosite pentru a reprezenta un numar. Un numar care este scris in baza de numeratie b

(3)

are forma de mai jos.

(4)

O baza de numeratie <10 va folosi mai putine simboluri (de exemplu baza de numeratie 7 va folosi doar 7 simboluri 0, 1, 2, 3, 4, 5,    si 6), iar >10 va avea mai multe (de exemplu baza 15 are nevoie de 15 simboluri). Pentru ca nu exista decat 10 simboluri pentru a reprezentat cifre si nu putem folosi decat un singur simbol pentru reprezentare pentru fiecare cifra in parte, desi putem folosi orice fel de simbol pentru a reprezenta cifre a caror valoare este mai mare ca 10, totusi vom utiliza litere (majuscule sau minuscule de fapt nu conteaza) pentru a reprezenta simbolurile lipsa. Astfel pentru baza 15 vom avea 15 simboluri si anume 0, 1, 2, 3, 4, 5, 6,7, 7, 8, 9, A, B, C, D, E (A va inlocui un simbol care va avea valoarea 10, B-11, C-12, etc.).

Exemple de numere corecte sunt 123(5), 7A3(11) etc.

Exemple de numere scrise gresit sunt 264(5), 73X2(16), deoarece simbolurile 6 respectiv X nu exista in bazele de numeratie 5 respectiv 16.

Transformarea numerelor intregi din alta baza de numeratie in baza 10

Pentru aceasta actiune, plecam de la prezentarea unui numar in baza de numeratie b conform (4). Pentru a transforma un numar intreg din orice baza de numeratie in baza zece trebuie sa desfacem grupele prin care a fost scris numarul respectiv. Astfel nu avem nimic de facut altceva decat sa calculam in baza 10 valoarea finala folosind pentru aceasta formula (4)

Exemplu: 745(8)=7*82+4*81+5*80 adica

Un caz mai complicat este daca baza de numeratie este mai mare ca zece si cuprinde numere a caror valoare este mai mare ca zece

Exemplu:

3CB(15)=3*152+C*151+B*150=3*225+12*15+ 11*1=675+180+11=866(10)

60B(16)=6*162+0*161+B*160=1536+0+11 =1547(10)

Transformarea numerelor intregi din baza 10 in alta baza de numeratie

Pentru aceasta actiune, tinem cont de faptul ca un numar scris in baza 10 de fapt reprezinta o cantitate egala cu valoarea scrisa. El trebuie regrupat pentru a putea fi reprezentat in alta baza de numeratie. Operatia se realizeaza prin impartiri succesive ale caturilor rezultate la noua baza de numeratie. Procedand astfel vom obtine rezultatul scontat, citind invers toate resturile obtinute

Exemplu1: 292(10)=?(6) Rezultatul final este 1204(6)

Exemplul2: 2575(10)=?(16)

10(A)

==15(F)

Observand ca 10 corespunde simbolului A si 15 simbolului F rezultatul final este A0F(16)

Cazuri speciale de transformari

Se stie ca, toate calculatoarele functioneaza in baza de numeratie 2, adica simbolurile folosite de calculator sunt doar 0 si 1. Acest lucru deranjeaza destul de mult, deoarece oamenii sunt obisnuiti cu baza de numeratie 10 si le este foarte greu sa foloseasca noua baza de numeratie. Pentru ca programarea sa fie mai usoara trebuia gasita o cale de compromis. Aceasta cale ar fi utilizarea bazelor de numeratie 8 sau 16 care sunt relativ apropiate de baza 10 si pe de alta parte permit o schimbare usoara de baza.

Observam ca 8=23 sau ca 16=24. Acest lucru este foarte important pentru ca puterile lui doi au o anumita semnificatie (aratata mai jos).

Se stie ca folosind o cifra, in baza b putem obtine b valori diferite (adica doua pt. baza 2, cincisprezece pentru baza 15 etc.). Folosind doua cifre vom obtine b2 valori deoarece vom obtine pentru fiecare valoare posibila pentru a doua cifra b valori prin modificarea primei cifre adica b*b sau b2. De exemplu pentru baza 3 vom obtine 9 valori, pentru baza 2 patru valori etc. Generalizand, pentru o valoare de n cifre scrisa in baza b vom obtine bn valori. Comparand baza 8 cu baza 2 vom observa ca un numar de 3 cifre din baza doi are tocmai opt valori posibile (nici mai multe nici mai putine). La fel baza 16 se echivaleaza cu un numar de patru cifre in baza 2. Ne existand alte valori, trecerea din baza 2 in baza 8 sau 16 se face doar prin grupari de cifre. Pentru usurinta in calcul putem folosi doua tabele, cu ajutorul carora putem realiza direct echivalarea.

Baza 2

Baza 8

Baza 2

Baza 16




A

B

C

D

E

F

Exemple:

pentru a realiza transformarea din baza 2 in baza 8 vom grupa tot cate trei cifre binare incepand de la dreapta spre stanga, iar daca pentru ultima grupa nu sunt destule cifre atunci vom completa grupul cu zerouri.

pentru a realiza transformarea din baza 2 in baza 16 vom grupa tot cate patru cifre binare incepand de la dreapta spre stanga, completand de asemenea ultimul grup cu zerouri.

D

B

A

=671DBA395(16)

Observatie: Folosind combinat metoda descrisa mai sus este foarte usor de convertit un numar din baza 8 in baza 16 sau invers folosind baza 2 ca intermediar.









Politica de confidentialitate

DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 568
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2020 . All rights reserved

Distribuie URL

Adauga cod HTML in site