Você está na página 1de 13

FURG

Sistemas de Numeração e
Representação no Computador
Prof. Geiser Chalco Challco
email: geiser@furg.br

Sem: 2021-II Algoritmos Computacionais 1


Representação de dados no computador
[computatore (latin) = calcular] Um computador é máquina ou dispositivo que realiza cálculos e operações
com base em instruções fornecidas por um programa, processa dados (entrada) e produz informação (saída).

Sistema Binário Sistema Octal e Hexadecimal Sistema Decimal


Código Máquina Código Assembler Linguagem de Alto Nível

CPU
Computador

2
Sistema de Numeração (notação)

• O sistema decimal emprega 10 algarismos, de 0 a 9, para representar números.


• Deriva dos nossos antepassados utilizarem os 10 dedos para contar
• O sistema binário, por sua vez, emprega 2 algarismos (0 e 1), com os quais é
possível representar qualquer quantidade, até mesmo números fracionários.
• No sistema octal existem 8 algarismos que vão de 0 a 7 para representar números.
• No sistema hexadecimal são utilizados 10 algarismos e as 6 primeiras letras do
alfabeto para representar números: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

• Base: É a quantidade de algarismos disponíveis – Base 10 (decimal), Base 2


(binário), Base 8 (octal), Base 16 (hexadecimal)

3
Sistemas de Numeração
• Para conceber a formação do sistema decimal basta observar
o hodômetro (marcador de quilômetro) de um automóvel
• Quando a “rodinha” das unidades comuta de 9 para 0, um pino
nessa rodinha força a rodinha das dezenas a avançar de 1.
Assim, ocorre sucessivamente formando todos os algarismos.
• No binário, por exemplo, quando a rodinha da unidade alcança 1 e posteriormente
comuta para zero 0, a rodinha da seguinte avança para 1.
• No caso do sistema hexadecimal, quando a rodinha alcança F passa para zero 0
e a seguinte rodinha avança para 1.
• Sistema binário requer uma maior quantidade de algoritmos para representar os
mesmos números decimais, enquanto o sistema hex. requer menos algoritmos

4
Sistemas de Numeração
• Número decimal 975 é representado da seguinte forma:
975 = 900 + 70 + 5 = 9 (102) + 7 (101) + 5 (100)
• Número binário 1010101:
10101012 = 1 (26) + 0 (25) + 1 (24) + 0 (23) + 1 (22) + 0 (21) + 1 (20)
= 64 + 0 + 16 + 0+ 4+ 0+1 = 8510
• Número hexadecimal 2A34:
2A3416 = 2 (163) + 10 (162) + 3 (161) + 4 (160)
= 8192 + 2560 + 48 +4 = 1080410
• Numeração genérica:

5
Conversão entre bases potência de 2
• De base 8 para 2 substitui-se cada algarismo octal por 3 bits correspondentes

• De base 2 para 16 = 24 basta dividi-lo para a esquerda em grupos de 4 bits

• De base 16 para 2 substitui-se cada algarismo hexadecimal pelo seus 4 bits

6
Conversão do Sistema B para o Sistema Decimal

Empregamos a equação

Sendo, B é base do sistema; e dn é o n-enésimo algarismo do número

• Exemplo 1: 1011012 = 1 (25) + 0 (24) + 1 (23) + 1 (22) + 0 (21) + 1 (20)


= 32 + 0+ 8+ 4+ 0+ 1
= 4510
• Exemplo 2: 2B516 = 2 (162) + 11 (161) + 5 (160)
= 2 . 256 + 11 . 16 + 5 . 1
= 512 + 176 + 5
= 693

7
Conversão do Sistema Decimal para Binário

Aplica-se o método das divisões sucessivas que consiste em efetuar sucessivas


divisões usando a base 2 até que o último quociente for menor que 2.
• O número transformado será composto por este último quociente (algarismo mais
significativo) e, todos os restos na ordem inversa às divisões.

• Como mostra o exemplo, 4710 = 1011112

8
Conversão do Sistema Decimal para Sistema B

As divisões sucessivas são efetuadas usando a base B até que o último quociente for
menor que o divisor B.

Exemplo 1: 9210 = ??8 Exemplo 2: 110110 = ??16

Assim para o exemplo 1, 9210 = 1348 Assim para o exemplo 2, 110110 = 44D16

9
Notação de números de Base 2 Positivos e Negativos

Em aplicações práticas, os números binários negativos e positivos empregam um bit


de sinal, bit adicionado mais a esquerda do número, por convenção:
• se for 0 (zero), o número em questão é positivo;
• caso seja 1 (um), o número é negativo.

Exemplo 1: 2310 = ??2


2310 = 101112 usando 8 bits temos: 00010111 (positivo)
em hexadecimal é: 17

Exemplo 2: -1510 = ??2


-1510 = 11112 usando 8 bits temos: 10001111 (negativo)
em hexadecimal é: 8F
10
Notação de Frações em Base 2

• Separar o número decimal na parte inteira e na fracionária.


• Aplicar o método de divisões sucessivas na parte inteira
• Aplicar multiplicações sucessivas na parte fracionária até atingir zero (0)

Exemplo 1: conversão do número 8,37510 = ??2

para a parte inteira 810 = 10002 para a parte fracionária 0,37510 = 0112

Conversão do número 8,37510 = 1000,0112 11


Representação de Inteiros no Computador
Representação de 8bits (unsigned) Representação de 8bits (signed)
0 como 0000 0000 (0016) -128 como 1000 0000 (8016)
1 como 0000 0001 (0116) -127 como 1111 1111 (FF16)
2 como 0000 0010 (0216) ...
... 126 como 0111 1110 (7016)
254 como 1111 1110 (FE16) 127 como 0111 1111 (7F16)
255 como 1111 1111 (FF16)

• Representação de 16bits (unsigned short) de 0 até 216-1 e (signed short) de -215 até 215-1
• Representação de 36bits (unsigned) de 0 até 232-1 e (signed short) de -231 até 231-1
• Representação de 64bits (unsigned long) de 0 até 264-1 e (signed long) de -263 até 263-1
12
Representação de Fracionários no Computador

36bits (single) precisão simples:

transcrever o número em notação científica:


• um inteiro
• parte fracionária, removendo o 1
• exponente base B

Exemplo 1: conversão do número -118,62510 = ??2


-118,62510 = 1110110,1012

= 1,110110101 (26) = 1000 0011 0110 1101 0100 0000 0000 0000
= 1,110110101 (2110) = 836D400016
13

Você também pode gostar