Aritmetica binaria
FEUP
Laboratório de Sistemas Digitais
EEC0006
1º ano, 1º semestre - 2012/13
Aritmética binária
Setembro de 2012
Aritmética binária: resumo
• Sistemas de numeração
• Aritmética sem sinal
• Dimensão dos dados e overflow
• Representação de números com sinal
• Adição/subtração em complemento para 2
• Extensão de sinal
FEUP, MIEEC
LSDI_2012/13 – Aritmética binária
2
Representação de informação em binário • Sistemas Digitais processam dados codificados apenas com “0” e “1”
Um bit (binary digit): duas coisas diferentes
(números, cores, estados, etc...)
N bits: 2N entidades diferentes
Exemplo (com 3 bits):
000, 001, 010, 011, 100, 101, 110, 111
Como representar números usando “0” e “1”?
FEUP, MIEEC
LSDI_2012/13 – Aritmética binária
3
Representação de números
• Números inteiros
– Sistema posicional
• Em base 10 (10 dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9)
45210 = 4×102 + 5×101 + 2×100
• Em base 2 (2 dígitos, 0 e 1)
11012 = 1×23 + 1×22 + 0×21 + 1×20 = 1310
• Potências inteiras de 2:
20=1, 21=2, 22=4, 23=8, ... 27=128, 28=256,
..., 210=1024 (=1K), ...
FEUP, MIEEC
LSDI_2012/13 – Aritmética binária
4
Representação de números
• Como representar um número em base 2?
– Dividindo sucessivamente por 2:
37 2
17 18 2
1 0 9 2
1 4 2 bit menos significativo
0 2 2
(o da direita, LSB)
0 1 bit mais significativo
(o da esquerda, MSB)
3710 = 1001012
– Ou, decompondo em potências de 2:
3710 = 32 + 4 + 1 = 1×25 + 1×22 + 1×20 = 1001012
FEUP, MIEEC
LSDI_2012/13 – Aritmética binária
5
Números fracionários
• À direita do ponto fracionário (ou vírgula)
– Potências negativas da base:
Em base 10:
35.7210 = 3×101 + 5×100 + 7×10-1 + 2×10-2
Em base 2:
110.1012 = 1×22 + 1×21 + 0×20 + 1×2-1 + 0×2-2 + 1×2-3
= 6.62510
– Representar a parte fracionária em base 2
• Multiplicando sucessivamente por 2:
0.7210 :
0.72×2 = 1.44
0.44×2 =