Sistemas Numericos: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
Linha 325: Linha 325:
  !Byte (hexadecimal)
  !Byte (hexadecimal)
  |-
  |-
  |0 || 01101000 || 68  
  |0 || 0110 1000 || 68  
  |-
  |-
  |1 || 10100101 || A5  
  |1 || 1010 0101 || A5  
  |-
  |-
  |2 || 00101111 || 2F  
  |2 || 0010 1111 || 2F  
  |-
  |-
  |3 || 10111100 || BC  
  |3 || 1011 1100 || BC  
  |-
  |-
  |4 || 01000000 || 40  
  |4 || 0100 0000 || 40  
  |-
  |-



Edição das 12h49min de 13 de setembro de 2021

Sistemas Numéricos

Conceitos fundamentais

bit
É a menor unidade de informação manipulada pelo computador, podendo assumir dois valores, 0 ou 1.
O termo bit é a contração de binary digit.
Palavra binária
n bits formam uma palavra binária, a qual pode representar 2n valores diferentes.
Byte
É o termo clássico utilizado para uma palavra binária de 8 bits, o qual pode representar 28 = 256 combinações diferentes.
Exemplo de binário de 8 bits:
1 0 1 1 1 1 0 0

Sistema Decimal:

Base: 10
Digitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Exemplo:
537410
= 5 x 103 + 3 x 102 + 7 x 101 + 4 x 100
= 5 x 1000 + 3 x 100 + 7 x 10 + 4 x 1
= 5374
5 3 7 4
| | | +-> Unidade (Peso    1)
| | +---> Dezena  (Peso   10)
| +-----> Centena (Peso  100)
+-------> Milhar  (Peso 1000)

Sistema Binário:

Base: 2
Digitos: 0, 1
Exemplo:
11002
= 1 x 23 + 1 x 22 + 0 x 21 + 0 x 20
= 8 + 4 + 0 + 0
= 12
1 1 0 0
| | | +-> (Peso 1)
| | +---> (Peso 2)
| +-----> (Peso 4)
+-------> (Peso 8)

Algumas combinações de números binários

Bits Combinações Binários
1 21 = 2 0

1

2 22 = 4 00

01

10

11

3 23 = 8 000

001

010

011

100

101

110

111

4 24 = 16 0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

Binários com maior número de bits

25 = 32

26 = 64

27 = 128

28 = 256

29 = 512

210 = 1024 -> 1 Ki bit

211 = 2048 -> 2 Ki bit

212 = 4096 -> 4 Ki bit

213 = 8192 -> 8 Ki bit

...

220 = 1 048 576 -> 1024 Ki bit -> 1 Mi bit

221 = 2 097 152 -> 2 Mi bit

...

230 = 1 073 741 824 -> 1024 Mi bit -> Gi bit

...

240 = 1024 Gi bit -> Ti bit

Prefixos do Sistema Internacional (SI) X Prefixos Binários

Resumo Sistema Binário

Exemplo de binário de 8 bits: 101111002 -> 18810
Valores posicionais 128 64 32 16 8 4 2 1
Potências de 2 27 26 25 24 23 22 21 20
Exemplo binário 1 0 1 1 1 1 0 0
MSB LSB
MSB: Bit mais significativo (Most Significant Bit)
LSB: Bit menos significativo (Less Significant Bit)

Conversão de Bases

Referências: [1].

Binário -> Decimal
Para converter de binário para decimal, soma-se os pesos das posições em que o número binário tiver um bit 1.
Exemplos:
101101 = 1 x 25 + 1 x 23 + 1 x 22 + 1 x 20 = 32 + 8 + 4 + 1 = 45
10100011 = 128 + 32 + 2 + 1 = 163
Decimal -> Binário
Uma das maneiras de converter um número decimal em binário e realizar divisões sucessivas por 2.
Exemplo:
25/2 = 12 + resto 1
12/2 = 6 + resto 0
6/2 = 3 + resto 0
3/2 = 1 + resto 1
1/2 = 0 + resto 1
-> 11001 (O bit mais significativo (MSB) é o último resto)
Simplificando o processo de representar a divisão por 2:
25 -> 1
12 -> 0
 6 -> 0
 3 -> 1
 1 -> 1
 0

Outra maneira de converter um número decimal em binário é expressar o decimal como soma de potências de 2 (processo inverso a conversão de binário para decimal), utilizando a tabela de pesos dos bits:

Valores posicionais 128 64 32 16 8 4 2 1
Exemplo binário 0 0 0 1 1 0 0 1

Exercícios:

  1. Converter o binário 110001102 em decimal;
  2. Converter o binário 1000110110112 em decimal;
  3. Qual o peso do MSB (Bit mais significativo) de um número de 12 bits?
  4. Qual a faixa total de valores decimais que podemos representar com 8 bits?
  5. Quantos bits são necessários para representar valores decimais de 0 a 12.500?
  6. Converter o decimal 72910 em binário;
  7. Converter o decimal 37810 em um número binário de 16 bits.

Sistema Octal:

Base: 8
Digitos: 0, 1, 2, 3, 4, 5, 6, 7
Exemplo:
1738
= 1 x 82 + 7 x 81 + 3 x 80
= 1 x 64 + 7 x 8 + 3 X 1
= 12310
1 7 3
| | +-> (Peso  1)
| +---> (Peso  8)
+-----> (Peso 64)

Correspondência entre binário de 3 bits e octal

Decimal Binário Octal
0 000 0
1 001 1
2 010 2
3 011 3
4 100 4
5 101 5
6 110 6
7 111 7

Como cada octal tem correspondência com um binário de 3 bits, a representação em octal pode ser utilizada como uma forma contraída de representar um número binário.

Contagem em Octal

0, 1, 2, 3, 4, 5, 6, 7,
10, 11, 12, 13, 14, 15, 16, 17,
20, ... 27,
...
70, ... 77,
100, ... 107,
...

Sistema Hexadecimal:

Base: 16
Digitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Exemplo:
1A416
= 1 x 162 + 10 x 161 + 4 x 160
= 1 x 256 + 10 x 16 + 4 x 1
= 42010
1 A 4
| | +-> (Peso   1)
| +---> (Peso  16)
+-----> (Peso 256)

Correspondência entre binário de 4 bits e hexadecimal

Decimal Binário Hexadecimal
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F

Como cada hexadecimal tem correspondência com um binário de 4 bits, a representação em hexadecimal pode ser utilizada como uma forma contraída de representar um número binário.

Exemplo de representação do conteúdo de uma memória usando hexadecimal

Memória de 1K Bytes
Endereço Byte (binário) Byte (hexadecimal)
0 0110 1000 68
1 1010 0101 A5
2 0010 1111 2F
3 1011 1100 BC
4 0100 0000 40
...
1023 00000000 00

Contagem em Hexadecimal

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F,
20, ... 2F,
30, ... 3F,
...
90, ... 9F,
A0, ... AF,
B0, ... BF,
...
F0, ... FF,
100, ..., 10F,
...

Conversão de Bases

Binário <-> Hexadecimal
Cada digito hexadecimal é convertido no equivalente binário de 4 bits (conforme tabela), e vice-versa, cada quatro bits binários é convertido no hexa equivalente.
Exemplos: Hexa -> Binário
A3 = 1010 0011
7E = 0111 1110
Exemplos: Binário -> Hexa
110110 = 0011 0110 = 36 (zeros são acrescentados a esquerda para formar grupos de 4 bits)
11000101 = 1100 0101 = C5
Binário <-> Octal
Cada digito octal é convertido no equivalente binário de 3 bits (conforme tabela), e vice-versa, cada quatro bits binários é convertido no hexa equivalente.
Exemplos: Octal -> Binário
73 = 111 011
45 = 100 101
Exemplos: Binário -> Octal
110110 = 66
1101 = 001 101 = 15 (zeros são acrescentados a esquerda para formar grupos de 3 bits)

Resumo sobre conversões de base:

  • Quando converter binário em decimal, use o método da soma dos pesos de cada digito;
  • Quando converter decimal em binário, use o método de divisões sucessivas por 2, reunindo os restos da divisão;
  • Quando converter binário em hexadecinal, agrupe os bits em grupo de quatro e converta cada grupo no hexa equivalente;
  • Quando converter hexadecimal em binário, converta cada digito em 4 bits equivalentes.
  • Quando converter binário em octal, agrupe os bits em grupo de três e converta cada grupo no octal equivalente;
  • Quando converter octal em binário, converta cada digito em 3 bits equivalentes.

Exercícios:

  1. Converter o hexadecimal B2F16 em um número binário e depois também em decimal e octal;
  2. Converter o decimal 42310 em hexadecimal e octal;
  3. Converter o decimal 21410 em hexadecimal e octal.
  4. Um endereço IP é formado por 32 bits representado por quatro bytes em decimal. Portanto, converter o endereço IP 192.168.40.222 em um binário de 32 bits.
  5. Converter a máscara de rede de um endereço IP 255.255.248.0 em um binário de 32 bits.
  6. Um endereço físico de uma placa de rede é formado por 6 bytes hexadecimal. Portanto, converta o endereço físico 10:1f:74:40:ec:ee em binário. Responda quantos bits tem o endereço.
    • Visualize o endereçamento IP e MAC em uma máquina Linux com o comando ifconfig
    • Nos smartphones com sistema Android basta abrir o menu "configuração", "sobre o telefone", "estado".
  7. Pesquise sobre o comando Linux chmod, usado para ajustar permissões de arquivos e diretórios, utilizando o formato octal:

Referências

  1. TOCCI, R.J.; WIDMER, N.S.; MOSS, G.L. Sistemas Digitais: princípios e aplicações, São Paulo: Pearson, 2011.

--Evandro.cantu (discussão) 10h54min de 12 de junho de 2014 (BRT)