Buscar

Aula02 ArqComp ADS 2014

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Arquitetura de Computadores (ARQI1)
ADS171
Aula 02:
 Sistemas de numeração.
Sistemas de numeração
Alberto Ferreira
			Números binários
Computador: provido de componentes eletrônicos digitais, os quais reconhecem somente níveis de tensão elétrica em dois estados: presente ou não presente. Assim sendo, os circuitos digitais iram operar com a presença de tensão elétrica ou sua não presença. A grosso modo, diríamos que só nos interessa dois estados: ligado (ON) ou desligado (OFF). 
 
Neste caso, o sistema decimal por nós utilizados, com 10 diferentes dígitos (0 a 9) não pode ser reconhecido pelos circuitos digitais. Torna-se necessário o uso de um sistema numérico com 2 dígitos: o sistema binário. O sistema binário, ou de base 2, funciona de maneira análoga ao decimal, porém com apenas dois dígitos, 0 e 1. 
Neste caso, o dígito 0 é representado pela não presença de tensão elétrica enquanto o 1 pela presença de tensão elétrica. Os dígitos de um sistema binário são chamados de bit, de Binary digiT (dígito binário).
Sistemas de numeração
Alberto Ferreira
			Números binários
Exemplos
 
Decimal (base 10):
 
4637			103 x 4 + 102 x 6 + 101 x 3 + 100 x 7
 
			 1000 x 4 + 100 x 6 + 10 x 3 + 1 x 7 		= 	4637
 
Binário (base 2):
 
1101		23 x 1 + 22 x 1 + 21 x 0 + 20 x 1
		 8 x 1 + 4 x 1 + 2 x 0 + 1 x 1		=	13 em decimal
Sistemas de numeração
Alberto Ferreira
			Números binários
Um modo prático de convertermos números binários em decimal seria colocar o “peso” de cada casa em cima de cada dígito, multiplicar pelo dígito e somar os produtos. 
Como qualquer número multiplicado por zero dá zero e multiplicado por um dá o próprio número, bastaria somar os “pesos” cujas casas são ocupadas por dígitos 1. Exemplo:
128+64+16+4+2 = 214
 
 
27
128
26
64
25
32
24
16
23
8
22
4
21
2
20
1
1
1
0
1
0
1
1
0
Sistemas de numeração
Alberto Ferreira
			Números binários
Como o bit à direita, cujo casa eqüivale a 2 elevado a zero é a de menor peso (1), este bit é chamado de bit menos significativo (LSB – Least Significant Bit). Como é a única casa com peso ímpar, todo número binário ímpar terá este bit em 1. O bit mais à esquerda, independente da quantidade de dígitos, terá a casa de maior peso, sendo conhecido por bit mais significativo (MSB – Most Significant Bit).
 
Quando um determinado bit está em 1,dizemos que ele está setado e que eletrônicamente representará presença de tensão elétrica. O contrário, quando o bit está em 0, dizemos que ele está resetado, indicando a ausência de tensão elétrica. 
 
 
 
Sistemas de numeração
Alberto Ferreira
			Números binários
Para convertermos um número decimal para binário, basta ir dividindo este por 2, até que o quociente seja 1 ou 0, ler resultado da última divisão e os restos das divisões anteriores e alinhá-los da esquerda para a direita. Veja o exemplo:
 1 0 1 1 0 1 0 1
Para que não confundamos números como 11 (onze), 110(cento e dez), etc, com números binários, alguns programas e autores colocam a letra B após o número binário. Ex.: 1101B, 001010b.
 
 
 
181
2
1
90
2
0
45
2
1
22
2
0
11
2
1
5
2
1
2
2
0
1
Sistemas de numeração
Alberto Ferreira
			Tipos de dados binários
 
 
 
70
byte
BYTE
Endereço N
15
0
Parte alta
Parte baixa
WORD
Endereço
N+1
Endereço N
31
15
0
Palavra
alta
Palavra
Baixa
DOUBLEWORD
Endereço
N+3
Endereço
N+2
Endereço
N+1
Endereço N
63
47
31
15
0
Doubleword
alta
Doubleword
baixa
QUADWORD
Endereço
N+7
Endereço
N+6
Endereço
N+5
Endereço
N+4
Endereço
N+3
Endereço
N+2
Endereço
N+1
Endereço N
Sistemas de numeração
Alberto Ferreira
			Múltiplos de bytes
 
 
 
Sistemas de numeração
Alberto Ferreira
			Números hexadecimais
A base 16 ou hexadecimal tem 16 dígitos: 0 a 9, letras A, B, C, D, E e F, sendo que a letra A vale 10 em decimal, B vale 11, C vale 12, D vale 13, e vale 14 e F vale 15. 
Por formarem números com 0A, 7F, CAFÉ, B0BA, torna-se fácil a digitação e memorização de tais números. Muitos códigos em programação, até mesmo em ambientes visuais como o Visual Basic, estão definidos em base hexadecimal. 
Para não confundirmos os números hexadecimais (ou simplesmente hexa) com binários ou decimais, colocamos uma letra H (ou h) ao final do número. Tal base funcionará de maneira análoga as bases decimais e hexadecimais, porém as casas terão uma base dezesseis (160, 161, 162, ...) e para conversão, divisão por 16.
Porém, na prática, o que mais aplicamos é transformar um número binário para hexadecimal. Para isto há uma regra básica: dividir o número binário em conjuntos de 4 bits, converte-lo para decimal e aí converte-lo para seu equivalente hexadecimal
Sistemas de numeração
Alberto Ferreira
			Números hexadecimais
Exemplo:
 
Número binário (word): 				0111111101010000b
Dividindo em grupos de 4 bits: 		0111		1111		0101		0000
Transformando em decimal:		 	7		 	15		 	5		 	0
Equivalente em hexadecimal:		7		 	F		 	5		 	0
Número em hexadecimal:			7F50h
 
decimal
binário
hexadecimal
decimal
binário
hexadecimal
0
0000
0
8
1000
8
1
0001
1
9
1001
9
2
0010
2
10
1010
A
3
0011
3
11
1011
B
4
0100
4
12
1100
C
5
0101
5
13
1101
D
6
0110
6
14
1110
E
7
0111
7
15
1111
F
Sistemas de numeração
Alberto Ferreira
			Números hexadecimais
Exemplo:
 
Em decimal:
 
				163	162	161	160
 
				4096 	256	16	 1
				 x	 x	 x	 x
				 7	 15	 5	 0
 (F)
 
			 28672 + 3840 + 80 + 0	=	32592
 
Sistemas de numeração
Alberto Ferreira
			Armazenamento em memória
Ao colocarmos um dado binário na 
memória, ele irá ocupar uma 
determinada quantidade de 
endereços, dependendo de seu 
tamanho (byte, word, doubleword, 
quadword), a começar pelo 
endereço fornecido para o 
armazenamento até o número de 
endereços necessários. 
O armazenamento começa no 
endereço fornecido, armazenando 
da parte baixa para a parte alta: 
como se o dado ficasse “de cabeça para baixo” na memória. Este esquema de ordenação é conhecido por little endian.
 
 
 
Doublewordarmazenada a partir do
14
endereço 10, contendo 8CFE0636h
8C
13
FE
12
Wordarmazenada a partir do
06
11
Quadwordarmazenada no
endereço 11, contém FE06h
36
10
Endereço 6, contendo
1F
9
8CFE06361FA4230Bh
A4
8
Byte, armazenado no endereço
23
7
7, contendo 23h
0B
6
5
4
3
2
1
0
Sistemas de numeração
Alberto Ferreira
			Números com sinal em binário
Para se representar números binários com sinal – positivos e negativos – uma das técnicas mais utilizadas é a de complemento de dois ou 2º complemento. 
Esta técnica consiste em representar o número com o bit mais significativo indicando o sinal: 0 se positivo, 1 se negativo. Neste caso, como “perderíamos” um bit na representação do valor, teríamos uma redução da faixa. Por exemplo, em um byte, que representa 256 combinações, o total de combinações seria reduzido para 128, ou seja, total de combinações com 7 bits.
Mas a técnica do 2º complemento não basta indicar o sinal no bit mais significativo. É necessário perfazer os seguintes passos:
 
Se o número estiver na faixa correta e for positivo, não alterá-lo.
b) Se o número estiver na faixa correta e for negativo:
Representar o número sem sinal, na quantidade de bits desejada;
Inverter todos os bits: 0 passa para 1 e 1 passa para 0;
Somar 1 ao resultado invertido.
 
 
 
Sistemas de numeração
Alberto Ferreira
			Números com sinal em binário
Exemplo:
 
8 bits – Faixa: positivos: 0 a +127 e negativos: -128 a -1
 
 
+ 100
	em binário: 01100100	em 2º complemento: 01100100
 
- 115
em binário (115): 	01110011
	invertendo:		10001100
	somando 1		 + 1
	resultado:		10001101
em 2º complemento.
 
Note que como o zero está incluído na faixa dos positivos, a faixa dos negativos será sempre de 1 número maior que os positivos.
 
 
 
Sistemas de numeração
Alberto Ferreira
			Números com sinal em binário
Uma outra forma de representarmos números negativos é a técnica do excesso de n ou excesso de 2n-1. Neste sistema, um número de n bits negativo será representado pelo número mais o valor de 2 elevado à n-1.
 
 
Por exemplo, o número –5 se representado nesta técnica utilizando 8 bits:
 
8 bits = 28-1 = 27 = 128
 
-5 + 128 = 123
 
123 em binário = 01111011b, em 8 bits
 
Portanto, –5 em excesso de 128 = 01111011b
 
 
 
Sistemas de numeração
Alberto Ferreira

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando