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

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
 
(21 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
=Sistemas Numéricos=
=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 2<sup>n</sup> valores diferentes.
;Byte: É o termo clássico utilizado para uma '''palavra binária de 8 bits''', o qual pode representar 2<sup>8</sup> = 256 combinações diferentes.
:Exemplo de binário de 8 bits:
{| border=1 style="text-align: center;"
|-
| 1 || 0 || 1 || 1 || 1 || 1 || 0 || 0
|-
|}


==Sistema Decimal:==
==Sistema Decimal:==
Linha 147: Linha 163:
|-  
|-  
|}
|}
:MSB: Bit mais significativo (''Most Significant Bit'')
:'''MSB''': Bit mais significativo (''Most Significant Bit'')
:LSB: Bit menos significativo (''Less Significant Bit'')
:'''LSB''': Bit menos significativo (''Less Significant Bit'')


===Conversão de Bases===
===Conversão de Bases===
Linha 173: Linha 189:
   3 -> 1
   3 -> 1
   1 -> 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:
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:
Linha 187: Linha 204:
#Converter o binário 11000110<sub>2</sub> em decimal;
#Converter o binário 11000110<sub>2</sub> em decimal;
#Converter o binário 100011011011<sub>2</sub> em decimal;
#Converter o binário 100011011011<sub>2</sub> em decimal;
#Qual o peso do MSB (Bit mais significativo) de um número de 16 bits?
#Qual o peso do MSB (Bit mais significativo) de um número de 12 bits?
#Qual a faixa total de valores decimais que podemos representar com 8 bits?
#Qual a faixa total de valores decimais que podemos representar com 8 bits?
#Quantos bits são necessários para representar valores decimais de 0 a 12.500?
#Quantos bits são necessários para representar valores decimais de 0 a 12.500?
Linha 208: Linha 225:
  +-----> (Peso 64)
  +-----> (Peso 64)


===Correspondência entre '''binário de 3 bits''' e '''octal'''===
{| border="1" cellpadding="2" style="text-align: center;"
{| border="1" cellpadding="2" style="text-align: center;"
|+ Correspondência entre '''binário de 3 bits''' e '''octal'''
  !Decimal
!Decimal
  !Binário
  !Binário
  !Octal
  !Octal
Linha 232: Linha 249:
  |}
  |}


;Contagem em Octal
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, <br/>
0, 1, 2, 3, 4, 5, 6, 7, <br/>
10, 11, 12, 13, 14, 15, 16, 17, <br/>
10, 11, 12, 13, 14, 15, 16, 17, <br/>
Linha 245: Linha 264:
:Base: 16
:Base: 16
:Digitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
:Digitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
:Exemplo: 1A4<sub>16</sub> = 1 x 16<sup>2</sup> + 10 x 16<sup>1</sup> + 4 x 16<sup>0</sup> = 1 x 256 + 10 x 16 + 4 x 1 = 420<sub>10</sub>
:Exemplo:
::1A4<sub>16</sub>  
:::= 1 x 16<sup>2</sup> + 10 x 16<sup>1</sup> + 4 x 16<sup>0</sup>  
:::= 1 x 256 + 10 x 16 + 4 x 1  
:::= 420<sub>10</sub>


  1 A 4
  1 A 4
Linha 252: Linha 275:
  +-----> (Peso 256)
  +-----> (Peso 256)


===Correspondência entre '''binário de 4 bits''' e '''hexadecimal'''===
{| border="1" cellpadding="2" style="text-align: center;"
{| border="1" cellpadding="2" style="text-align: center;"
|+ Correspondência entre '''binário de 4 bits''' e '''hexadecimal'''
  !Decimal
  !Decimal
  !Binário
  !Binário
Linha 283: Linha 306:
  |-
  |-
  |12 || 1100 || C
  |12 || 1100 || C
  |-right
  |-
  |13 || 1101 || D
  |13 || 1101 || D
  |-
  |-
Linha 292: Linha 315:
  |}
  |}


;Contagem em Hexadecimal
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====
 
{| border="1" cellpadding="2" style="text-align: center;"
|+'''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 || 0000 0000 || 00
|-
|}
 
===Contagem em Hexadecimal===
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F,<br/>
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F,<br/>
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F,<br/>
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F,<br/>
Linha 336: Linha 386:
#Converter o decimal 423<sub>10</sub> em hexadecimal e octal;
#Converter o decimal 423<sub>10</sub> em hexadecimal e octal;
#Converter o decimal 214<sub>10</sub> em hexadecimal e octal.
#Converter o decimal 214<sub>10</sub> em hexadecimal e octal.
#Um '''endereço IP''' é formado por '''32 bits''' representado por '''quatro bytes em decimal'''. Portanto, converter o endereço IP 192.168.10.99 em um binário de 32 bits.
#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.
#Converter a '''máscara de rede''' de um endereço IP 255.255.255.0 em um binário de 32 bits.
#Converter a '''máscara de rede''' de um endereço IP 255.255.248.0 em um binário de 32 bits.
#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.
#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.
#Pesquise sobre o comando Linux '''chmod''', usado para ajustar permissões de arquivos e diretórios, utilizando o formato '''octal'''.
#*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".
#Pesquise sobre o comando Linux '''chmod''', usado para ajustar permissões de arquivos e diretórios, utilizando o formato '''octal''':
#*[[Permissoes de acesso a arquivos e diretorios|Permissões de acesso a arquivos e diretórios]]
#*[https://chmod-calculator.com/ Calculadora para chmod ]


==Referências==
==Referências==

Edição atual tal como às 17h36min de 19 de maio de 2022

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 0000 0000 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)