Docstoc

Binarios-Fundamentos Computacionais

Document Sample
Binarios-Fundamentos Computacionais Powered By Docstoc
					FUNDAMENTOS COMPUTACIONAIS Aritmética Binária – Aula 4

Professor Regis – 2009

Sistema Binário
 Os computadores utilizam o sistema binário, ou seja,

todas as informações são armazenadas ou processadas com apenas duas grandezas, representadas pelos algarismos 0 e 1, que são obtidas através de dois diferentes níveis de tensão interna no computador, que podem ser por exemplo 1,2 volt(alto) ou 0,2 volt (baixo).Observe que esse sinais elétricos, independentemente da voltagem que cada sistema utilize, serão sempre um sinal alto e ou baixo, para que, na transmissão, seja nítida a diferença entre eles.
 O elemento mínimo de informação operado pelos

computadores foi chamado de bit (binary digit ou dígito binário), pois trata-se de, apenas, dois algarismos (0 e 1).

Sistema Binário
 Esses sinais elétricos altos ou baixos podem formar

sequências que serão representadas pelos dígitos 0 ou 1. Portanto, 0011 é uma sequência que significa “baixa,baixa,alta,alta”. Nesta notação poderíamos ter sequencias com mais do que quatro dígistos, ou bits, como 00011001, que tem oito.  Para que haja comunicação é preciso representar simbolicamente o que se pretende comunicar. Desse modo o problema da comunicação consiste em se convercionar representabilidade para os simbolos.
 Quando escrevemos “motor” usamos apenas quatro

letras. No entanto, em função de o computador trabalhar apenas com dois estados, precisamos conseguir escrever a mesma coisa com apenas os simbolos 0 e 1. Convencionou-se, então, que cada algarismos ou letra seria representado por um conjunto de 8 bits.

Sistema Binário
 Organizou-se

uma tabela denominada código ASCII(American Standart Code for Information Interchange), na qual foi feita uma associação entre cada caractere que conhecemos, seja um numero, uma letra ou um símbolo, com seu correspondente conjunto de 8 bits.

 Nesta tabela a letra “M” é representada por 0100 1101, a

letra “O” é representada por 0100 1111, a letra T é representada por 0101 0100, e a letra “R” é representada por 0101 0010.  Dessa forma podemos escrever a palavra MOTOR como : 0100 1101 0100 1111 0101 0100 0100 1111 0101 0010.  Assim, a letra “M” ou 0100 1101 se constitui em um byte e a palavra “motor” tem 5 bytes ou 40 bits.

Sistema Binário – Código ASCII
 Vários foram os códigos utilizados ao longo da história da

informática. Tivemos o código BCD, de 6 bits, o código EBCDIC , de 8 bits, mas o que acabou se tornando padrão foi o código ASCII (American Standart Code for Information Interchange).

 Caractere
         

Byte
0010 0000 0010 1000 0010 1011 0010 0100 0010 1001 0010 1101 0010 1111 0010 1100 0010 1110 0011 1101

Caractere
0 1 2 3 4 5 6 7 8 9

Byte
0011 0000 0011 0001 0011 0010 0011 0011 0011 0100 0011 0101 0011 0110 0011 0111 0011 1000 0011 1001

Em branco ( + $ ) / , . =

 Caractere
             

Sistema Binário – Código ASCII
Byte Caractere
O P Q R S T U V W X Y Z

Byte
0100 1111 0101 0000 0101 0001 0101 0010 0101 0011 0101 0100 0101 0101 0101 0110 0101 0111 0101 1000 0101 1001 0101 1010

A B C D E F G H I J K L M N

0100 0001 0100 0010 0100 0011 0100 0100 0100 0101 0100 0110 0100 0111 0100 1000 0100 1001 0100 1010 0100 1011 0100 1100 0100 1101 0100 1110

 Exercícios:
         

Sistema Binário – Código ASCII
em ASCII das seguintes expressões: a)BOLA b) A CASA c) X + Z= d) ESTOU ESTUDANDO MUITO e) 2) Represente no código ASCII as seguintes expressões: a) BOLA b) A CASA c) X+2= d) A CORUJA

 1)Determine quantos bytes serão usados na codificação

Aritmética Binária
 Adição  A soma aritmética em binário é simples, pois possui

poucas regras:
0+0=0 0+1=1 1+0=1 1 + 1 = 0, mas “vai 1” para o dígito de ordem superior.

 Exemplo:

1001.1100 + 0110.1001 1.0000.0101 Observação:
Soma-se as colunas da direita para a esquerda, tal como uma soma em decimal.

Aritmética Binária
 Adição  No exempo a seguir, em azul, é indicado o “vai 1”:

1 <----- "vai um“ ( carry in) 1100 + 1010 1.0110
Outro exemplo: 101 + 1110 1.0011

Aritmética Binária
 Subtração  A subtração possui as seguintes regras:
0-0=0 0 - 1 = 1 ("vem um") 1-0=1 1-1=0

Como é impossível tirar 1 de zero deve-se "pedir emprestado" para a casa de ordem superior, ou seja, se subtrai 1 de 10 e se encontra 1 como resultado: 10 -1 = 1
 Exemplo:

-

11101 00111 10110
1 <----- "vem um“(carry out)

Aritmética Binária
 Subtração

Exemplos:

-

111111 101010 010101 110100101 011101000 010111101

-

Aritmética Binária
 Multiplicação

 A multiplicação possui as seguintes regras:
0x0=0 0x1=0 1x0=0 1x1=1

Porém, a multiplicação em computadores é feita por um artifício, pois multiplica-se um número A por outro n, somando A com A, n vezes. Por exemplo, 2x3 = 2+2+2.
Exemplo:

1011 * 1101 1011 0000 1011 + 1011 10001111

Aritmética Binária
 Divisão

A divisão pode ser feita por subtrações sucessivas. Portanto, em computadores, qualquer operação aritmética pode ser realizada através de somas.

No estudo de circuitos lógicos verifica-se como essas propriedades são úteis no projeto de computadores.
Exemplo: 1010101 / 101 = 10001 - 101 0000101 - 101 000

Representação de Dados
 Em um computador são armazenados e processados

apenas dados e instruções.
 Um

computador executa operações sobre dados numéricos (números) ou alfabéticos (letras e símbolos). representados em notação binária.

 Porém, um computador somente opera sobre valores

 Assim, os dados são representados no computador

(memória e processador) através de bits, de modo que ele possa interpretar corretamente o seu significado e executar as operações adequadas.
 Portanto, um programa de computador é formado por

uma seqüência de instruções que operam sobre um conjunto de dados representados em notação binária.

Representação de Dados
 Um

programa (seqüência de instruções) deverá manipular diferentes tipos de dados que podem ser: * Numéricos: --> Ponto fixo (números inteiros); --> Ponto flutuante (números reais ou fracionários); --> BCD (representação decimal codificada em binário). * Alfanuméricos: --> Letras, números e símbolos (ASCII ou EBCDIC).

 O tipo de dado a ser utilizado deve ser informado pelo

programador ao computador através de declarações para que o programa interprete o dado fornecido corretamente. Por exemplo, na linguagem C, são empregadas as seguintes declarações:
int num (inteiro) ou float sal (real) ou char nome (caracter)

Dados Numéricos
 Intuitivamente, a representação de números seria através

da conversão do valor decimal para seu correspondente binário, mas os números podem ser positivos ou negativos.  Portanto, um aspecto fundamental a ser definido seria a representação do sinal.  Nesta representação foi definida o emprego de mais um bit (bit mais representativo) que indica o sinal, com a seguinte convenção: bit 0 --> sinal positivo; bit 1 --> sinal negativo. Exemplo:
+8(10) = 00001000(2) --> Valor binário com 8 bits (7 + bit de sinal) -8(10) = 10001000(2) --> Valor binário com 8 bits (7 + bit de sinal)

Dados Numéricos
 Representação de números inteiros (ponto fixo)

Dados numéricos com ponto fixo são números inteiros, ou seja, sem parte fracionária. Os dados numéricos inteiros positivos são representados com o sinal (bit mais significativo 0 = sinal positivo) e em seguida o valor do dado em binário.
 Para que os computadores operem com números

negativos são necessários algoritmos de maior complexidade, mas quando se usa a representação em sinal e magnitude, são adotadas formas que facilitam e tornam mais eficiente a manipulação destas operações aritméticas (aritmética de sinal e magnitude).

Dados Numéricos
 Representação em sinal e magnitude

A magnitude (valor absoluto que independe de sinal) de um número é representada em binário.

O sinal é representado por um bit (o bit mais significativo, ou seja, mais à esquerda na representação).
Porém, a representação em sinal e magnitude apresenta uma grande desvantagem: exige um grande número de testes para realizar uma simples soma de dois números inteiros, ou seja, o algoritmo torna-se complexo ao ser realizado no computador, resultando em baixa eficiência (execução lenta). Outra desvantagem é ter duas representações para o número zero.

Números Reais
 Os números reais são aqueles que apresentam uma

parte inteira e outra fracionária, situada após a vírgula.  Como representar a parte fracionária de modo que o processamento seja eficiente e o armazenamento exija pouco consumo de memória?  Os números reais podem ser representados como segue: REPRESENTAÇÃO EM PONTO FLUTUANTE Qualquer número inteiro ou fracionário pode ser expresso no formato número*base^expoente em que variam a posição da vírgula (delimita a parte fracionária) e a potência da base. Essa representação é chamada de representação em ponto flutuante, pois o ponto varia sua posição, modificando, em conseqüência, o valor representado. Exemplo: 123,456 = 0,123456*10^3 = 123456*10^-3

Números Reais
REPRESENTAÇÃO NORMALIZADA O número é representado movendo-se a vírgula de forma que o número seja menor que 1, multiplicado-se por uma potência da base de modo a manter o valor do número. Geralmente, isso significa que o primeiro dígito significativo seguirá imediatamente ao ponto ou vírgula. Por exemplo:
57,68310 normalizado é 0,57683 x 102 0,000462810 normalizado é 0,4628 x 10-3 0,000010112 normalizando é 0,1011 x 2-4

A representação normalizada pode ser generalizada por ± número * base ± expoente = ±0,M*B^±e. Onde M é a mantissa (algarismos significativos), B é a base e e é o expoente.

Números Reais
REPRESENTAÇÃO NO COMPUTADOR Uma forma comum de representação de números reais no computador pode ser expressa como segue: SN.SE.Expoente.Mantissa (M bits) Onde:
--> SN = sinal do número --> SE = sinal do expoente

Nota-se que a base é implícita, pois é binária. Para cada computador, o número total de bits para M, para SN, para SE, para a mantissa e para o expoente, são pré-definidos em projeto. Portanto, quanto maior o número de bits para o expoente, maior será a faixa de números que o computador pode representar (alcance) e quanto maior o número de bits para a mantissa, maior sua precisão.

Números Reais
REPRESENTAÇÃO NO COMPUTADOR Reduzindo-se a mantissa, perde-se precisão e há necessidade de truncar o número (cortar algarismos). Outro problema ocorre na região numérica próxima de zero, que tem o maior expoente negativo possível. Ocorre underflow quando o valor absoluto a ser representado é tão pequeno que fica menor que o menor valor absoluto representável. Nesse caso, o expoente é negativo, mas não representa números próximos de zero e ocorre uma descontinuidade na representação, com os números próximos a zero não sendo representados. Underflow não é o mesmo que imprecisão, pois os dados na faixa de underflow não podem ser representados, ocorrendo estouro no expoente. No caso de imprecisão, a normalização permite que o dado seja representado, mas de modo impreciso.

Números Reais
CARACTERÍSITICA Característica é o expoente, representado como excesso de n, ou seja, Característica = expoente + excesso. A representação substituindo expoente por característica implica que todas as características serão positivas, de forma que é possível eliminar a representação do sinal do expoente.
Exemplo de representação em ponto flutuante A família de computadores IBM/370 representava os dados em ponto flutuante com base implícita = 16, no seguinte formato: SN (1 bit).Característica (7 bits).Matissa (24 bits) No caso da IBM, o excesso é de 6410, ou seja, Característica = Expoente + 6410. Por exemplo, Expoente = 810, logo Característica = 810 + 6410 = 7210 Assim, uma característica entre 0 e 6310 significa que o expoente é negativo, enquanto uma característica entre 65 e 127 significa que o expoente é positivo.


				
DOCUMENT INFO
Shared By:
Stats:
views:3880
posted:9/19/2009
language:English
pages:23
Description: autocad flash e dreamweaver para iniciantes