Você está na página 1de 5

A

A. Sistemas de Numerao.

Para se entender a linguagem do computador (o Cdigo de Mquina), necessrio conhecer um pouco da
teoria dos nmeros. No uma tarefa to difcil quanto pode parecer. Sabendo-se contar at 16, no ter
qualquer dificuldade. Mas, inicialmente preciso aprender a contar at 2.

A.1. Decimal (Base 10)

Mesmo a pessoa mais avessa matemtica no tem qualquer dificuldade para dizer as horas ou
acompanhar o resultado de uma partida de futebol. O uso dos nmeros faz parte do dia-a-dia de tal forma que
nunca nos preocupamos com a maneira com que eles funcionam. No mundo ocidental usamos habitualmente um
sistema numrico baseado no nmero 10. Isto significa que comeamos uma contagem usando os nmeros de 0 a
9. Se precisarmos de uma grandeza maior do que 9, usamos os dgitos disponveis. Assim, colocamos o 1 na casa
da esquerda e o 0 sua direita (10).
Este chamado de um sistema de numerao de base 10 ou decimal, porque o valor do dgito
multiplicado por 10 a cada posio que se conta. Por exemplo, o nmero 275 corresponde ao valor calculado por 2
x 10
2
+ 7 x 10
1
+ 5 x 10
0
, ou seja 200 + 70 + 5. Todo sistema que usa esse mtodo para representar nmeros
chamado de posicional.

centena dezena unidade
10
2
10
1
10
0

275

2 7 5

2 x 10
2
+ 7 x 10
1
+ 5 x 10
0


200 + 70 + 5

275

Tudo isso parece bvio porque fazemos esses clculos todos os dias, sem pensarmos muito neles.
Entretanto, existem outros sistemas de numerao, diferentes do decimal, como por exemplo, os que so usados
nos modernos micros.

A.2. Binrio (Base 2)

Para os computadores digitais, o sistema de numerao mais apropriado o baseado no nmero 2. Isso
acontece porque o computador composto de circuitos eletrnicos que possuem dois estados evidentes: ligado
(h corrente de energia) e desligado (no h corrente). O estado desligado representa o nmero 0, e o
ligado, o nmero 1. E, na base 2, estes so todos os dgitos de que se necessita para expressar qualquer valor.
O sistema binrio composto apenas por zeros e uns; todos os outros dgitos foram abolidos. Dessa
forma, se se comear a contar da maneira habitual, no vai passar de 1. Some 1
2
a 1
2
e ter o nmero 1
deslocado uma casa para a esquerda, enquanto a casa da direita zerada. Assim, em binrio, 1
2
+ 1
2
= 10
2
.
Contar de 0 a 15, em decimal, resulta em (no adianta tentar decorar...):

DECIMAL BINRIO DECIMAL BINRIO
0 0000 8 1000
1 0001 9 1001
2 0010 10 1010
3 0011 11 1011
4 0100 12 1100
5 0101 13 1101
6 0110 14 1110
7 0111 15 1111

A adio de valores binrios obedece a seguinte regra: 0 + 0 = 0 ; 0 + 1 = 1 ; 1 + 1 = 0, "vai 1" .
Para somar 10
2
+ 11
2
, deve-se primeiramente somar os dois nmeros da direita, 0 + 1. A seguir, devem ser
somados os dois da esquerda, 1+1 o que d 2; s que em binrio 10
2
. Assim 10
2
+11
2
=101
2
; ou seja, em
decimal, 2+3=5.
B
A subtrao em binrio um processo to direto quanto a soma. O nico detalhe a observar o nmero
que se leva para a prxima casa.
A multiplicao e a diviso so to fceis que at um computador pode fazer essas operaes. No
primeiro caso, tudo se resume a multiplicar 0 x 0 = 0 ; 0 x 1= 0 ; 1 x 1 = 1 .
A diviso igualmente simples: em cada operao, basta decidir se o divisor est dentro do dividendo uma
vez ou nenhuma vez, ou 0 0 = 0 ; 0 1 = 0 ; 1 0 = 0 ; 1 1 = 1 .

A.3. Hexadecimal (Base 16)

Embora o sistema de numerao binrio seja muito simples, pelo fato de haver muitos zeros e uns na
composio de nmeros com oito, dezesseis ou mais dgitos binrios, pode-se criar certa dificuldade na
compreenso e manipulao.
Os esforos para contornar tais problemas fez com que surgisse um sistema numrico com outra base,
mas que ainda seja semelhante, em concepo, ao sistema binrio utilizado pelo computador. O sistema
universalmente adotado para isso o hexadecimal ("hexa" para os ntimos), no qual os nmeros utilizam a base
16. Antes de mais nada, esse sistema est suficientemente prximo do decimal para ser tolerado por ns, simples
mortais. Mas, alm disso, 16 uma potncia de 2. Isso significa dizer que a converso entre os sistemas binrio
e hexadecimal , nos dois sentidos extremamente simples.
A nica dificuldade que qualquer sistema com base maior do que 10 precisa de novos algarismos, alm
dos costumeiros decimais (de 0 a 9). De qualquer forma, na base hexadecimal, os dgitos seriam compreendidos
entre 0 e 15 (todavia, o prprio 15 utiliza dois dgitos; por esta razo, os dgitos, entre 10 e 15 sero entendidos
como A
16
, B
16
, C
16
, D
16
, E
16
e F
16
). Veja:

Decimal: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Hexadecimal: 0 1 2 3 4 5 6 7 8 9 A B C D E F

Observe, portanto, que o valor mximo de um dgito hexadecimal 15, representado pelo dgito F (no
letra "F"!). Conhecendo-se a base binria, o valor 15 corresponde a 1111
2
(=8+4+2+1), portanto, cada 4 dgitos
binrios correspondem a 1 dgito hexadecimal (por exemplo, o valor binrio 01000001
2
, separando-se cada 4
dgitos binrios, da direita para a esquerda, ou seja, 0100 0001, obtm-se o valor 41
h
. No sentido inverso, o valor
E9
h
, corresponde a E
h
= 14 = 8+4+2 = 1110
2
e 9
h
= 8+1=1001
2
, portanto, E9
h
2 = 1110 1001
2
).

B. Converso de Bases.

B.1. Convertendo de Binrio para Decimal (multiplicar os 1s por 2
posio deste 1
):

3 2 1 0
1000
2


1 0 0 0

2
3
2
2
2
1
2
0


1 x 2
3
+ 0 x 2
2
+ 0 x 2
1
+ 0 x 2
0


8

110
2


1 x 2
2
+ 1 x 2
1
+ 0 x 2
0


6

B.2. Convertendo de Decimal para Binrio (ir dividindo por 2 e, inversamente, pegar os restos):

8 2
0 4 2
0 2 2
0 1

8 = 1000
2


Outra forma : Encontre o maior valor possvel, igual ou menor que o que deve ser convertido e
que corresponda a um valor exponencial de 2 (2
n
1,2,4,8,16,32,64,128,...) e o preencha com o
valor 1. Faa o mesmo com o valor que resta, at que no haja mais resto.

C
Experimente com 46: 2
5
=32 (46-32=14) + 2
3
=8 (14-8=6) + 2
2
=4 (6-4=2) + 2
1
=2
2
5
2
4
2
3
2
2
2
1
2
0

1 0 1 1 1 0 = 101110
2

= 32 0 8 4 2 0 = 32+8+4+2 = 46
Experimente com o valor 127, depois com 235, etc.

B.3. Convertendo de Hexa para Decimal (multiplicar os valores por 16
posio
):

16
3
16
2
16
1
16
0

F6DA = F 6 D A
(15) (6) (13) (10)
Fx409
6
6x256 Dx16 Ax1 = 61440+1536+208+10 = 63194

4CA = 4 C A = 10 x 16
0
+ 12 x 16
1
+ 4 x 16
2
=
1226

B.4. Convertendo de Decimal para Hexadecimal (ir dividindo por 16 e pegar os restos):
124 16 336 16
12 7

124 =
7C
h

0 21 16
5 1

336 = 150
h



C. Operaes com Sistema de Numerao Binrio.

C.1. Adio Binria

A adio binria funciona a partir do dgito extremo a direita, obedecendo a seguinte regra: 0 + 0 = 0 ;
0 + 1 = 1 ; . 1 + 0 = 1 ; 1 + 1 = 0, "vai 1" . Observe como essas operaes funcionam:

vai 1 vai 1 vai 1

1 1 0 0 1 1 1
+ 1 0 0 0 1 0
1 0 0 0 1 0 0 1 Em Decimal: (103 + 34 = 137)


C.2. Subtrao Binria

A subtrao binria obedece a seguinte regra: 0 0 = 0 , 0 1 = 1, 1 empresta 1 , 1 0 = 1 ,
1 1 = 0 . No caso de 0-1, antes de calcular, "empresta-se" 1 do dgito esquerda. Caso no o possua, este
prximo dgito emprestar 1 do que est a sua esquerda e assim por diante. Observe o exemplo abaixo, com o
clculo binrio 1011001 - 111011:

10
(2)

(1)

(1)
Ao invs de 0-1, faz-se 10-1, retirando a "dezena" da
esquerda e se,
virou 0 0 10 0 10
(2)
nesta casa, o valor for 0, esta retirar da sua esquerda
at haver o 1.
1 0 0 1 0 1 1
- 1 1 0 1 1 0 Em Decimal: ( 75 54 = 21 )
0 0 1 0 1 0 1


inicia-se aqui !
D
C.3. Multiplicao Binria

Em cada fase da multiplicao binria, obedece-se a seguinte regra: 0 0 = 0 , 0 1 = 0 , 1 0 = 0
, 1 1 = 1 . Veja como isto se aplica no exemplo abaixo:

1 1 0 1
1 0 1 1
1 1 0 1
1 1 0 1
0 0 0 0
+ 1 1 0 1
1 0 0 0 1 1 1 1 Em Decimal: (13 x 11 = 143)

C.4. Diviso Binria

Na diviso binria, finalmente, necessrio verificar se o divisor cabe no dividendo pelo menos uma vez.
Se isto acontecer, o resultado ser 1; caso contrrio, ser 0. Isso faz da diviso uma das operaes binrias mais
simples. Veja o exemplo:
1 1 0 0 1 1 0 1
- 1 0 1 1 0 1
= 0 0 1 0
1 0 1
- 1 0 1
= 0 0 0 Em Decimal: (25 / 5 = 5)

D. Bits e Bytes + Tabela ASCII:

Os nmeros binrios refletem exatamente o que acontece no computador, ou seja, h ou no corrente
eltrica. As instrues ou dados que se d a ele so codificados em nmeros binrios, que, por sua vez, so
manipulados e armazenados pelos circuitos internos do aparelho. Assim, quando comea-se a dominar o sistema
binrio, inicia-se a compreenso de como funciona o computador (ou qualquer mquina binria).
Cada um dos dgitos de um nmero binrio representado eletronicamente dentro do computador por um
circuito ligado ou desligado. Se est ligado, o valor 1. Se pelo contrrio, o circuito est desligado, o valor 0.
Cada digito conhecido como bit (que vem da palavra inglesa Binary digiT).
Se o computador trata de nmeros binrios, ento como distinguir a letra "A" da "B" e assim por diante?
bvio que um bit sozinho no consegue fazer isto, pois contm o valor 0 ou 1 e s. Portanto, para se conseguir
resultados mais significativos, torna-se necessrio o agrupamento de vrios bits, para que, em conjunto,
representem valores maiores. Para facilitar, pode-se comparar um bit com um interruptor de lmpada que, se na
posio 0, a mantm apagada e na 1, acesa. Todavia, para se ter maior liberdade na iluminao, pode-se
combinar uma srie de interruptores em circuito, os quais controlaro vrias lmpadas entre acesas e apagadas.
Em quase todos os micros, os bits esto organizados em "circuitos" de oito, formando o que se conhece como um
byte. Cada byte representa, assim, oito dgitos binrios (como se fossem 8 interruptores), que portanto pode
armazenar qualquer nmero entre 00000000 e 11111111, ou 128 + 64 + 32 +16 + 8 + 4 + 2 + 1, que
corresponde aos valores decimais de 0 a 255. Valores maiores que 255 so representados por dois ou mais bytes.

2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0

12
8
64 32 16 8 4 2 1

0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1
...
1 1 1 1 1 1 1 1 255

Zeros e uns binrios foram usados para representar vrios nmeros at este ponto. Os bits tambm
podem ser codificados para representar letras do alfabeto, nmeros e sinais de pontuao. Representado pelo
American Standard Code for Information Interchange (ASCII), em portugus Cdigo Padro Americano para
Troca de Informao. O cdigo ASCII usado amplamente em sistemas de computadores para transformar os
E
caracteres comuns do teclado (e alguns incomuns, como os caracteres semi-grficos, o prprio "<Enter>", o
espao, a tecla <ESC>, etc.) em linguagem de computador. Por causa das inmeras variaes destes caracteres
especiais, h vrios outros cdigos, como o ABNT, o ABNT2, etc. bom entender que os caracteres digitados num
editor de textos moderno (como o WordPerfect, o Word, StarWord, WordPro, AmiPro, etc.) representa um
caractere ASCII, porm, como WYSIWYG (what you see is what you get = o que voc v o que voc obtm),
na realidade, totalmente grfico, ou seja, incontveis caracteres "esquisitos" () so mostrados ao
invs dos caracteres comuns (por exemplo, ao se digitar a tecla "y", aplicando-se a fonte "Wingdings", o caractere
ser o , com a fonte "Symbol", , assim por diante). Se, no entanto, qualquer coisa for escrita no modo texto (e
no WYSIWYG), como no EDIT do MS-DOS, no editor do Turbo Pascal ou Turbo C ou no Bloco de Notas, os
caracteres sero puramente ASCII (e no apenas uma representao).

OBSERVAES:
Define-se, portanto, o bit como sendo a menor partcula ("tomo") de uma unidade de informao num
computador, e que pode adotar 2 valores ou estados distintos 0 ou 1.
Quanto ao byte, podemos dizer que um conjunto formado por 8 bits, o que equivale a um caractere
(a, b, c, 1, 2, 3, 4, <ENTER>, <ESC>), ou seja, o byte a unidade de informao (assim como
kg a de peso, m de medida, etc.). Pode tambm ficar mais claro, sabendo-se (ou lembrando-se) que a tabela
ASCII contm 256 possveis caracteres (enumerados de 0 a 255, portanto de 0000 0000
2
a 1111 1111
2
, ou 00
16
a
FF
16
, o que, bvio, comporta 8 bits, ou 1 Byte, para cada cdigo).


EXERCCIOS:
1. Converta os seguintes valores para as outras bases numricas:
Decimal Binrio Hexadecimal Octal
3127
10111100
F6A
74653
2. Realize os seguintes clculos:
a) 110011 + 01101 b) 110011 x 1101 c) 110011 101101 d) 1000010 110
3. Considerando que a letra "A" na tabela ASCII corresponde ao cdigo 65, calcule, em hexadecimal:
a) MOUSE b) ASCII c) LETRA d) BRASIL