Escolar Documentos
Profissional Documentos
Cultura Documentos
Nmeros binrios
Base 10 = decimal : preferida por ns humanos Base 2 = binrio: ideal para computadores, pois facilita a implementao do hardware com circuitos digitais Base 8 ou 16 = octal e hexadecimal: simplificam a representao binria valor do i-simo algarismo = d x (Base)i
Binria
Decimal
Hexadecimal
Nmeros binrios
1101d = 1x(10)3 + 1x(10)2 + 1x(10)0 = 1101d 1101b = 1x(2)3 + 1x(2)2 + 1x(2)0 = 13d 1101o = 1x(8)3 + 1x(8)2 + 1x(8)0 = 557d 1101h = 1x(16)3 + 1x(16)2 + 1x(16)0 = 4353d
4
Agrupar em grupos de quatro, da direita para a esquerda e aplicar tabela de converso: (11101001111010b) para hexa
0011 . 1010 . 0111 . 1010 3 . A . 7 . A (11101001111010b) = 3A7Ah
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
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
Divisor 157 78 39 19 9 4 2 1 2= 2= 2= 2= 2= 2= 2= 2=
Quociente 78 39 19 9 4 2 1 0
Resto 1 0 1 1 1 0 0 1
Limites numricos
Qual o maior nmero positivo que pode ser representado com um nmero finito de bits :
Mximo = 2N 1
8 -> 255 16bits -> 65.535 32 bits -> 4.294.967.295 64 bits -> 18.446.744.073.709.551.616
10
Nmeros negativos
Formas triviais:
Complemento de 2 utilizado virtualmente em todos os computares construdos desde 1965. O nome deriva do fato que a soma (sem considerar o sinal) de um nmero de N bits e seu negativo igual a 2N, ou seja, o complemento ou negao de um nmero x em complemento de 2 igual a 2N x
11
Nmeros negativos
Exemplo:
Implicao -> muda o limite dos nmeros que podem ser representados com a mesma quantidade de bits:
13
14
Funo lgica de trs entradas e duas sadas Executada a partir dos bits menos significativos do registrador Cout de um estgio alimenta o Cin do prximo estgio Cout do ltimo estgio indica overflow Exemplo
A 0 1 0 1 0 1 0 1
B 0 0 1 1 0 0 1 1
Cin 0 0 0 0 1 1 1 1
Soma Cout 0 1 1 0 1 0 0 1 0 0 0 1 0 1 1 1
11001011b + 00101010b
15
Subtrair um nmero positivo equivalente a adicionar um nmero negativo de valor absoluto igual. A representao em complemento de 2 elimina a necessidade de uma operao exclusiva para realizar a subtrao, pois o circuito de adio pode ser utilizado
Exemplos
Semelhante a multiplicao decimal: multiplicao de cada dgito, a partir do menos significativo com deslocamento a esquerda para cada parcela
1 0 1 1 (A) 1 0 1 0 (B) 0 0 0 0 + + + = 1 0 1 1 0 0 0 0 1 0 1 1 1 1 0 1 1 1 0 17
.
Multiplicao:
Normalmente uma operao mais lenta que a soma, pois um processo iterativo e depende do nmero de bits do operando Existe multiplicadores em hardware, que funciona como uma grande funo lgica No pior caso, o nmero de bits do resultado igual soma do nmero de bits dos dois argumentos
Multiplicao de nmeros com sinal exigem mais tempo, pois precisam de processamento extra do sinal
Exemplo: -13 x 31 = ?
18
1 1 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 1
1 0 1 1 divisor 1 0 0 1 resultado
Diviso da parte mais significativa pelo divisor multiplicao de cada dgito subtrao da parcela adio do prximo dgito repetindo at chegar a um resto menor que o divisor
1 0 1 0 resto
19
Outra operao lenta, tambm um processo iterativo e depende do nmero de bits dos operandos Divisores em hardware so menos comum que os multiplicadores No pior caso, o nmero de bits do resultado igual ao dividendo Diviso de nmeros com sinal exigem mais tempo, pois precisam de processamento extra do sinal
20
Assim como em decimal fcil dividir ou multiplicar por 10, em binrio operaes com mltiplos de 2 tambm so triviais. Multiplicao (para nmeros positivos e negativos)
A multiplicao por 2n equivale ao deslocamento de n bits para a esquerda, preenchendo com a lacuna com 0 Para nmeros positivos a diviso por 2n equivale ao deslocamento de n bits para a direita, preenchendo com a lacuna com 0 Para nmeros negativos a diviso por 2n equivale ao deslocamento de n bits para a direita, preenchendo com a lacuna com 1
Diviso
21
Pode ser necessrio temporariamente para aumentar a preciso de clculo, ou melhorar utilizao de memria e recursos
22
Operaes lgicas
Operaes bit a bit: cada bit de um operando calculado com o bit de mesma posio do outro operando OR
A 0 1 0 1 B 0 0 1 1 A|B 0 1 1 1
AND
A 0 1 0 1 B 0 0 1 1 A&B 0 0 0 1
XOR
A 0 1 0 1 B 0 0 1 1 A^B 0 1 1 0
NOT
A 0 1 ~A 1 0
independem do sinal do nmero Ex.: A = 01010011b ; B= 01001110b ; A|B =? A^B=? A&B=? ~A=? ((~(A+B))&(A-B))^B = ?
~B=?
23
Operaes bit a bit podem ser utilizados para operaes de mscara: Setar o bit 3 da varivel A
Operao de comparao
A == B 1 0 A>B 1 0
A != B 0 1 A <= B 0 1
Condio Todos os bits iguais Algum bit diferente Condio A - B positivo A - B negativo ou zero
Igual: A == B Diferente: A != B Maior: A > B Menor ou igual: A <= B Menor: A < B Maior ou igual: A >= B
A >= B 1 0
A<B 0 1
25