Introdução à Arquitetura de Computadores/Representação Numérica: diferenças entre revisões

[edição não verificada][edição verificada]
Conteúdo apagado Conteúdo adicionado
m Foram revertidas as edições de 93.108.243.225 (disc) para a última revisão de Raylton P. Sousa
Linha 25:
== Números Inteiros ==
 
Nem sempre os números com os quais queremos lidar são naturais. Pode haver necessidade de realizarmos operações com números negativos. Para tal, devemos encontrar uma forma de representarmos números negativos. Uma das primeiras formas tentadas de fazer isso foi reservando o primeiro bit de um número para representar o sinal. Assim, um 0000000 (...) 001 representa +1 e um 10000 (...) 001 representaria um -1. Entretanto, tal forma de representação já foi abandonada há muito tempo. Um dos principai motivos para o abandono desta representação está no fato de sempre termos que verificar o primeiro bit para descobrir como efetuar uma soma ou subtração entre dois números. Além disso, tal representação tornaria possível um "+0" e um "-0".
A forma de se representar números inteiros em computadores modernos é chamada de ''Representação em Complemento de 2''. Ela é feita da seguinte forma:
 
A forma de se representar números inteiros em computadores modernos é chamada de ''Representação em Complemento de 2''. Ela é feita da seguinte forma:
 
Os 31 bits mais à esquerda representam sempre números positivos. Calculamos o que eles representam com a mesma fórmula vista acima. Entretanto, o primeiro bit representa sempre "0" se o seu valor for "0" ou "<math>-2^{32}</math> se o seu valor for "1". Assim, a fórmula para se calcular o que representa um número binário inteiro em decimal é:
 
<math>-N_{0}*2^{32} + N_{1}*2^{31} + N_{2}*2^{30} + N_{3}*2^{29} + (...) + N_{29}*2^{3} + N_{30}*2^{2} + N_{31}*2^{1} + N_{32}*2^{0}</math>
 
onde <math>N_{0}</math> é o dígito mais significativo e <math>N_{32}</math> é o bit menos significativo.
 
A representação em complemento de 2 é boa pelos seguintes motivos:
* Para somar dois números inteiros, usa-se o mesmo método.Não precisamos verificar o sinal deles. Com isso, podemos criar um circuito mais rápido.
 
* Para somar dois números inteiros, usa-se o mesmo método. Não precisamos verificar o sinal deles. Com isso, podemos criar um circuito mais rápido.
* Descobrir o inverso de um número também é simples. Basta invertermos todos os bits e, em seguida, somarmos 1. Sempre funciona.
* O "0" é sempre "0". Não existe uma versão negativa ou positiva deste número.
 
Por meio desta noçãonotação, números tão pequenos como -4.294.967.296 e tão grandes como 4.2294.967.295 podem ser representados.
 
== Números Reais ==
 
Por fim, também é muito útil que computadores possam representar números reais. Vamos estudar agora como eles costumam ser representados em computadores.
 
A forma mais lógica e versátil de representarmos um número real é por meio da notação científica. Um número decimal em notação científica sempre toma a seguinte forma:
 
<math>N * 10^{M}</math>
 
onde N é sempre um número real maior ou igual à 1 e menor que 10 que pode ser positivo ou negativo enquanto M é um número inteiro qualquer (que pode ser positivo ou negativo). Por exemplo:
 
<math>3,15756 * 10^{9}</math> representa aproximadamente quantos segundos existe em um século enquanto
 
<math>1,00000 * 10^{-9}</math> representa quantos segundos existem eem um nanossegundo.
 
Alternativamente, podemos representar também números em notação científica utilizando uma base binária:
 
<math>1,00000 * 10^{-1}</math>. Lembre-se que aquele "10" significa na verdadee "2" em representação decimal. Ou seja, o número representado é na verdade 0,5 e não 0,1.
 
Enfim, quando temos um número em notação científica binária, ele sempre tem a seguinte forma: