Documente Academic
Documente Profesional
Documente Cultură
Capitolul
SISTEME de NUMERAIE
Este interesant de remarcat c un lucru care pentru noi astzi e
considerat ca evident faptul c folosim sistemul zecimal de numeraie nu a
fost la fel cu cteva mii de ani n urm, atunci cnd oamenii au vrut s exprime
prin cifre anumite dimensiuni sau cantiti de bunuri.
Civilizaii care acum patru milenii construiau piramide (egiptenii), puneau
bazele geometriei, construiau temple i ceti, realizau statui i puneau bazele
filosofiei prin Socrate, Platon i Aristotel (vechii greci), care au creat un imperiu
care a cuprins aproape toat partea cunoscut a lumii, au construit viaducte i au
elaborat principiile de drept (vechii romani) au folosit alte sisteme de numeraie,
mult mai greu de utilizat.
n cazul sistemelor de numeraie folosite de aceste popoare, fiecrui
semn (caracter) i se asocia o anumit valoare numeric, aceasta nedepinznd de
poziia semnului n cadrul numrului scris. Aceste sisteme de numeraie se
numesc nepoziionale.
Figura 1.1
n Grecia antic cifrele erau notate cu literele alfabetului grec, crora li se
asociau valori numerice, indiferent de poziia lor n cadrul numrului, utiliznduse deci tot un sistem nepoziional.
Evident, cel mai cunoscut sistem de numeraie nepoziional este cel
utilizat de romani, care folosea doar apte simboluri (cifre) cu urmtoarele
valori:
I
1
V
5
X
10
L
50
C
100
D
500
M
1000
Anul 2012 se scrie sub forma MMXII, cifra I avnd valoarea 1 indiferent
c e pe poziia ultim sau penultim, acelai lucru fiind valabil i n cazul cifrei M,
ambele cifre avnd aceeai valoare de 1000, valoarea respectivului numr
rezultnd ca urmare a adunrii: 1000+1000+10+1+1 (=2012).
Este utilizat i astzi, dar numai n anumite situaii: n denumiri de
maniferstri tiinifice, aniversri, a claselor n liceu, de exemplu: Proceedings
of the IX-th Conference on Mechanical Vibrations, clasa a XII-a.
Sunt utilizate unele convenii n scrierea numerelor romane: n cazul
scrierii unei cifre cu valoare mai mic n faa unei cifre cu valoare mai mare,
an1 an 2 ... a2 a1 a0 = an 1 Bn 1 + an 2 Bn 2 + .. + a2 B2 + a1 B + a0
unde B este baza sistemului de numeraie.
Sistemele de scriere a numerelor care respect aceast regul se numesc
sisteme poziionale.
Fcnd o incursiune n istorie putem aminti sistemul de numeraie utilizat
de babilonieni, aprut cu 1900 ~ 1800 ani . Ch, care au folosit ca baz de
numeraie B=60, motivele alegerii acestei valori fiind neclare. Civilizaia
babilonian a aprut dup cea sumerian i akkadian, care folosea sisteme de
numeraie nepoziionale. Cele 59 de simboluri (cifre) sunt prezentate n figura
1.2.
Figura 1.2
(cifra 35)
(cifra 16)
(cifra 26)
= 35 602 + 16 60 + 26 = 126986(10)
.
Figura 1.3
De remarcat este faptul c n cazul acestui sistem de numeraie cu baza
B=20 exista i cifra 0.
Administraia imperiului inca, cucerit de spanioli n 1532, utiliza un
sistem poziional zecimal, cu o nregistrare destul de curioas a numerelor: pe
un fir care atrna vertical se fceau grupe de noduri. Astfel, pentru a nregistra
numrul 253 se fceau trei grupe de noduri, dou noduri pentru a marca
numrul sutelor, cinci noduri pentru a marca numrul zecilor respectiv trei noduri
pentru uniti. Un astfel de fir se numea quipu. Pentru a identifica tipul
informaiei nregistrate (numr de vaci, oi, etc) firele erau vopsite n diferite
culori. De reinut c era folosit sistemul de numeraie n baza 10.
Sistemul de numeraie poziional cu baza B=10 este cel folosit in
prezent, fiind impropriu numit sistem arab de scriere a numerelor.
n realitate acest sistem de numeraie cu baza 10 era utilizat de indieni
ncepnd din secolele IV~V. Cel mai vechi document indian n care se gsete un
numr scris n sistemul de numeraie poziional cu baza 10 dateaz din anul 594.
Modul de scriere al cifrelor a evoluat pe parcursul secolelor, astfel c la
nceput se foloseau aa numitele cifre Brahmi (se presupune c acestea datau
dintr-o perioad mult anterioar), iar n secolele X-XI cifrele Nagari,
reprezentate n figura 1.4.
Figura 1.4
10
Figura 1.5. Forma de scriere a cifrelor ntr-o lucrare a lui Al-Sizji (969)
11
Figura 1.8
n afar de sistemul poziional cu baza 10, folosit curent n calcule,
teoretic s-ar putea folosi sisteme de numeraie n orice baz.
Astfel, valoarea unui numr scris n baza 7 (se vor putea utiliza cifrele 0,
1, 2, 3, 4, 5 i 6), se calculeaz n felul urmtor:
2335(7) = 2 73 + 3 72 + 3 7 + 5 = 859(10)
n cazul cnd numrul are i o parte subunitar, n partea ntreag avnd
n cifre iar n partea subunitar m cifre, se va utiliza formula
an1 an 2 .. a2 a1 a0 a 1 a 2 .. a m = an 1 Bn 1 + an 2 Bn 2 + .. + a1 B + a0 +
+ a 1 B 1 + a 2 B 2 + . . . + a m B m
(1.1)
Valoarea n zecimal a urmtorului numr, scris n baza 5, va fi
43211.243(5) =
4 54 + 3 53 + 2 52 + 1 5 + 1 +
+ 2 5-1 + 4 5-2 + 3 5-3 = 2781.6(10)
12
Figura 1.9
ntr-o scrisoare din anul 1697, adresat ducelul Rudolf August de
Wolfenbttel, Leibniz i prezint acestuia desenul unui medalion omagial, pe una
din fee avnd reprezentri ale numerelor scrise n binar (figura 1.9).
n figura 1.10 se prezint un fragment dintr-un manuscris al lui Leibniz,
din anul 1697, n care se fac calcule cu numere binare.
Cercetri recente au artat c matematicianul i astronomul englez
Thomas Harriot (1560-1621) a utilizat sistemul binar de numeraie fcnd chiar
13
Figura 1.10
Utiliznd formula (1.1) se poate determina valoarea n zecimal a oricrui
numr scris n unul din aceste sisteme, n continuare fiind date trei exemple de
astfel de calcule:
11010110.001101(2)= 127+126+025+124+023+122+121+0+
+02-1+02-2+12-3+12-4+02-5+1 2-6
=128+64+16+4+2+0.125+0.0625+0.015625=
=214.203125(10)
346.21(8)
= 3 82 + 4 8 + 6 + 2 8-1 + 1 8-2 =
= 192+32+6+0.25+0.015625 = 230.265625(10)
2A0C.B(16)
n cazul n care un numr este scris n unul din cele trei sisteme binar,
octal sau hexazecimal se poate cu uurin determina forma sa de scriere n
celelalte dou sisteme de numeraie.
Se observ c un numr scris n sistemul de numeraie binar se poate
scrie sub forma:
+b828+b727+b626+b525+b424+b323+b222+b12+b0+ =
= + (b822+b72+b6)82 + (b522+b42+b3)8 + (b222+b12+b0) +
14
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Cifre
binare
0
1
Cifre i
scriere
n octal
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
Scrierea
n binar a
cifrelor
octale
000
001
010
011
100
101
110
111
15
Cifre hexazecimale
Scrierea
n binar a cifrelor
hexazecimale
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
1101
123 0110
123 . 0011
123 0100
123
011
{ 010
{ 110
{ . 001
{ 101
{
3
(2)=
(2)
326.15
=D6.34
(8)
= 214.203125(10)
(16)
= 214.203125(10)
54026.234(8) =
=
=
=
=
5
4
0
2
6
101 100 000 010 110
0101 1000 0001 0110
5
8
1
6
5816.4E(16)
. 2
3
4(8)
. 010 011 100(2)
. 0100 1110 0000(2)
.
4
E
0(16)
=
=
=
=
F157.23(16) =
F
1
5
7
=
1111 0001 0101 0111
= 001 111 000 101 010 111
= 1
7
0
5
2
7
= 170527.106(8)
16
.
2
3(16)
. 0010 0011(2)
. 001 000 110(2)
. 1
0
6(8)
=
=
=
=
Figura 1.11
17
#include <conio.h>
#include <stdio.h>
int main()
{ int x=581;
printf("\n\n x = %5d(10)= %8o(8)= %4X(16)",x,x,x);
printf("\n\n-x = %5d(10)= %8o(8)= %4X(16)",-x,-x,-x);
getch(); return 0; }
se va obine:
x =
y =
581(10) =
-581(10) =
1105(8) = 245(16)
176673(8) = FDBB(16)
18
mod(581,
mod(290,
mod(145,
mod( 72,
mod( 36,
mod( 18,
mod( 9,
mod( 4,
mod( 2,
2)
2)
2)
2)
2)
2)
2)
2)
2)
=
=
=
=
=
=
=
=
=
1
0
1
0
0
0
1
0
0
[581/2]
[290/2]
[145/2]
[ 72/2]
[ 36/2]
[ 18/2]
[ 9/2]
[ 4/2]
[ 2/2]
= 290
= 145
= 72
= 36
= 18
=
9
=
4
=
2
=
1
Ordinea n care se obin cifrele numrului binar este de la cele mai puin
semnificative la cele mai semnificative, deci numrul binar va fi
1 0 0 1 0 0 0 1 0 1(2)
n cazul cnd numrul zecimal este subunitar se folosete urmtoarea
metod: se nmulete n mod repetat partea subunitar (iniial precum i cele
care se obin ulterior) reinndu-se la fiecare etap cifra care se obine n partea
ntreag.
n continuare se fac aceste operaii pentru determinarea numerelor
binare ce corespund numerelor zecimale subunitare 0.375(10) i 0.2(10) ,
0
0
1
1
0
0
Tabelul 1.2
375 (x2)
75 (x2)
5
(x2)
0
(x2)
0
(x2)
0
(x2)
Tabelul 1.3
0
(x 2)
0
0
1
1
0
0
1
1
0
0
1
1
0
4
8
6
2
4
8
6
2
4
8
6
2
4
(x
(x
(x
(x
(x
(x
(x
(x
(x
(x
(x
(x
(x
19
2)
2)
2)
2)
2)
2)
2)
2)
2)
2)
2)
2)
2)
0.2(10) = 0.00110011001100110(2) =
= 0 . 001 100 110 011 001 100 110 011 001..(2)
= 0 . 1
4
6
3
1
4
6
3
1 (8) =
= 0.146314631..(8)
0.2(10) =
=
=
=
0.00110011001100110(2) =
0. 0011 0011 0011 0011
0.
3
3
3
3
0.3333333..(16)
0011
3
0011
3
0011 ..(2)
3(16)
20
31x47 ={
}+47=
={
15x2x47
}+47=
={
15x94
}+47=
={[
14x94
]+94}+47=
={[
7x2x94
]+94}+47=
={[
7x188
]+94}+47=
6x188
+188]+94}+47=
={[
={[
3x2x188
+188]+94}+47=
3x376
+188]+94}+47=
={[
={[( 2x376 )+376+ 188]+94}+47=
={[(1x2x376)+376+ 188]+94}+47=
={[( 1x752 )+376+ 188]+94}+47=
={[( 752 )+ 376+188]+94}+ 47
30x47
21
38x47={
}+0=
={
19x2x47
}+0=
={
19x94
}+0=
18x94
]+94}+0=
={[
={[
9x2x94
]+94}+0=
={[
9x188
]+94}+0=
={[
8x188
+188]+94}+0=
={[
4x2x188
+188]+94}+0=
4x376
+188]+94}+0=
={[
={[( 4x376)
+0+188]+94}+0=
+0+188]+94}+0=
={[(2x2x376)
={[( 2x752 )
+0+188]+94}+0=
={[( (2x752)+ 0)+0+188]+94}+0=
={[((1x2x752)+0)+0+188]+94}+0
={[((1x1504)+ 0)+0+188]+94}+0=
={[( (1504) + 0)+0+188]+94}+0=
38x47
22
termenilor care
Tabelele 1.6 i
ale cturilor ce
doilea factor i
[31/2]
[15/2]
[7/2]
[3/2]
=
=
=
=
31
15
7
3
1
47x2
94x2
188x2
376x2
=
=
=
=
47
94
188
376
752
47
94
188
376
752
= 1457
31x47 = 1457
[38/2]
[19/2]
[9/2]
[4/2]
[2/2]
=
=
=
=
=
38
19
9
4
2
1
47x2
94x2
188x2
376x2
752x2
=
=
=
=
=
47
94
188
376
752
1504
38x47 = 1786
Tabelul 1.7
94
188
1504
= 1786
[87/2]
[43/2]
[21/2]
[10/2]
[5/2]
[2/2]
87
= 43
= 21
= 10
= 5
= 2
= 1
23
23
=
46
46
=
92
92
= 184
= 368
368
= 736
= 1472
1472
= 2001
87x23 = 2001
23x2
46x2
92x2
184x2
368x2
736x2
23
Tabelul 1.9
[23/2]
[11/2]
[5/2]
[2/2]
=
=
=
=
23
11
5
2
1
87x2
174x2
348x2
696x2
=
=
=
=
23x87 = 2001
24
87
174
348
696
1392
87
174
348
1392
= 2001