Aprenda Hardware

  • Página Inicial
  • Contato!
  • Tudo sobre Hardware Parte 1!
  • Tudo sobre Hardware Parte 2!
  • Tudo sobre Hardware Parte 3!
  • Tudo sobre Hardware Parte 4!
  • Tudo sobre Hardware Parte 2

    Relação entre Sistemas Numéricos

    Como visto anteriormente, quando precisamos converter entre sistemas (como o octal e hexadecimal), usamos o decimal como intermediário para conversões.

    Vamos ver um exemplo, onde jogaremos o número 27 em octal para o binário:

    
    27:
    
    2 = 2 × 81 = 2 × 8 = 16
    7 = 7 × 80 = 7 × 1 = 7
    
    16 + 7 = 23
    
    

    No caso acima o 27 na base 8 retornou 23 na base 10, e para converter o decimal em binário:

    
    Primeira casa:
    23 | 2 
     1  11
    
    Segunda casa:
    11 | 2 
     1   5
    
    Terceira casa:
    5 | 2 
    1   2
    
    Quarta casa:
    2 | 2 
    0   1
    
    Quinta casa:
    1 | 2 
    1   0
    
    

    E escrevendo de trás pra frente, o 27 em octal é 10111 em binário.

    Mas temos um macete muito mais fácil para converter octal em binário. Isso ocorre porque a cada três dígitos do binário representa um dígito do octal (7 em octal é 111 em binário), já que 2 (base binária) elevado a 3 é 8 (base octal).

    Sabendo isso, podemos dividir um número octal em três dígitos, veja um exemplo com o mesmo 27 em octal:

    
    2 = _ _ _
    7 = _ _ _
    
    

    E cada uma dessas casas, colocamos as potências, igual quando convertemos decimal em binário.

    4 2 1

    No caso, basta fazer a soma e onde tiver os números somados, coloque 1, e onde não tiver coloque 0, assim:

    
    2 = 010
    7 = 111
    
    

    Aí é só juntar tudo e veremos que 27 em octal é 10111 (o zero a esquerda pode ser descartado no binário e em outros sistemas numéricos).

    E para converter binário para octal, seguimos a mesma lógica da potencia de 23. Dividimos o binário em pequenos grupos de três.

    Veja a conversão de 1000101 em binário para octal:

    
    001 000 101
    
    

    PS: Caso não seja possível completar o grupo com três, complete com zeros à esquerda.

    Seguindo a mesma lógica, vamos usar os resultados das potências (4, 2, 1) e somar tudo que tiver abaixo de um, ou seja:

    
    001 000 101 - Binário puro
    
    001 000 401 - Cada dígito das potências
    
      1   0   5 - Octais retornados.
    
    

    Dessa forma, 1000101 na base 2 é o mesmo que 105 na base octal.

    PS: Lembre-se que zeros no meio são representados.

    Agora vamos ver um exemplo, onde jogaremos o número 1B em hexadecimal para o binário:

    
    1B:
    
    B = 11
    
    1 = 1 × 161 = 1 × 16 = 16
    B = 11 × 160 = 11 × 1 = 11
    
    16 + 11 = 27
    
    

    No caso acima o 1B na base 16 retornou 27 na base 10, e para converter o decimal em binário:

    
    Primeira casa:
    27 | 2 
     1  13
    
    Segunda casa:
    13 | 2 
     1   6
    
    Terceira casa:
    6 | 2 
    0   3
    
    Quarta casa:
    3 | 2 
    1   1
    
    Quinta casa:
    1 | 2 
    1   0
    
    

    E escrevendo de trás pra frente, o 1B em hexadecimal é 11011 em binário.

    Da mesma forma, temos um macete muito mais fácil para converter hexadecimal em binário. Isso ocorre porque a cada quatro dígitos do binário representa um dígito do octal (F em hexadecimal é 1111 em binário), já que 2 (base binária) elevado a 4 é 16 (base hexadecimal).

    Sabendo isso, podemos dividir um número hexadecimal em quatro dígitos, veja um exemplo com o mesmo 1B em hexadecimal:

    
    B = 11
    
    1 = _ _ _ _
    11 = _ _ _ _
    
    

    E cada uma dessas casas, colocamos as potências, igual quando convertemos decimal em binário.

    8 4 2 1

    No caso, basta fazer a soma e onde tiver os números somados, coloque 1, e onde não tiver coloque 0, assim:

    
    B = 11
    
    1 = 0001
    11 = 1011
    
    

    Aí é só juntar tudo e veremos que 1B em hexadecimal é 11011 (o zero a esquerda pode ser descartado no binário e em outros sistemas numéricos).

    E para converter binário para hexadecimal, seguimos a mesma lógica da potencia de 24. Dividimos o binário em pequenos grupos de quatro.

    Veja a conversão de 1011101 em binário para hexadecimal:

    
    0101 1101
    
    

    PS: Caso não seja possível completar o grupo com quatro, complete com zeros à esquerda.

    Seguindo a mesma lógica, vamos usar os resultados das potências (8, 4, 2, 1) e somar tudo que tiver abaixo de um, ou seja:

    
    0101 1101 - Binário puro
    
    0401 8401 - Cada dígito das potências
    
       5  13(D) - Hexadecimais retornados.
    
    

    Dessa forma, 1011101 na base 2 é o mesmo que 5D na base hexadecimal.

    PS: Lembre-se que zeros no meio também são representados, e se o resultado for entre 10 e 15, deverá ser substituído pelos caracteres entre A e F.

    Aritmética nas Bases 2, 8 e 16

    A aritmética de números nas bases 2, 8 e 16 funciona da mesma maneira que na base 10, obedecendo as opções de números.

    Veja dois exemplos em binário:

    
     1011
     +101
    10000
    
    

    Só lembrando que 1 + 1 é igual a 10, e 10 + 1 é igual a 11.

    Pra subtrair a mesma regra:

    
    1010
    -111
      11
    
    

    Nesse caso, precisamos lembrar que 10 - 1 é igual à 1, e 11 - 1 é igual à 10. A regra de "emprestar" números quando foi subtrair 1 de 0 permanece.

    No caso de octais a mesma coisa, por exemplo:

    
    176
    +43
    241
    
    

    Só precisamos lembrar que na soma, caso dê 8, converta para 10, 9 pra 11, 10 pra 12 e assim por diante.

    Na subtração, a mesma coisa:

    
    542
    -35
    505
    
    

    Nesse caso, podemos converter os octais para decimal (no caso 12 vira 10) e fazer a subtração, e converter o resultado para octal. As regras de "emprestar" permanecem.

    No caso de hexadecimal também, por exemplo:

    
    4E3
    +A5
    588
    
    

    Só precisamos lembrar que na soma, caso dê 10, converta para A, 11 para B, 12 para C e assim por diante.

    Na subtração, a mesma coisa:

    
    A13
    -5E
    9B5
    
    

    Nesse caso, podemos converter os hexadecimais para decimal (no caso E vira 14) e fazer a subtração, e converter o resultado para hexadecimal. As regras de "emprestar" permanecem.

    PS: Tanto na base octal quanto na hexadecimal, é interessante converter os algarismos em binário, octal ou hexadecimal para decimal, fazer a conta e reconverter para a base especificada.

    Revisão de Tabuada e Potências

    Para facilitar os cálculos entre bases 2, 8, 10 e 16, é bom sabermos das tabuadas desses números. Veja abaixo elas:

    Tabuada de 2:

    
    2 × 1 = 2
    2 × 2 = 4
    2 × 3 = 6
    2 × 4 = 8
    2 × 5 = 10
    2 × 6 = 12
    2 × 7 = 14
    2 × 8 = 16
    2 × 9 = 18
    2 × 10 = 20
    
    

    Tabuada de 8:

    
    8 × 1 = 8
    8 × 2 = 16
    8 × 3 = 24
    8 × 4 = 32
    8 × 5 = 40
    8 × 6 = 48
    8 × 7 = 56
    8 × 8 = 64
    8 × 9 = 72
    8 × 10 = 80
    
    

    Tabuada de 10:

    
    10 × 1 = 10
    10 × 2 = 20
    10 × 3 = 30
    10 × 4 = 40
    10 × 5 = 50
    10 × 6 = 60
    10 × 7 = 70
    10 × 8 = 80
    10 × 9 = 90
    10 × 10 = 100
    
    

    Tabuada de 16:

    
    16 × 1 = 16
    16 × 2 = 32
    16 × 3 = 48
    16 × 4 = 64
    16 × 5 = 80
    16 × 6 = 96
    16 × 7 = 112
    16 × 8 = 128
    16 × 9 = 144
    16 × 10 = 160
    
    

    PS: Na matemática, a tabuada é de 0 a 10, mas colocamos as multiplicações de 16 para facilitar ao conversões com os números hexadecimais.

    Veja também as potências desses números.

    Potências de 2:

    Potência Resultado
    20 1
    21 2
    22 4
    23 8
    24 16
    25 32
    26 64
    27 128
    28 256
    29 512
    210 1024
    211 2048
    212 4096
    213 8192
    214 16384
    215 32768
    216 65536
    217 131072
    218 262144
    219 524288
    220 1048576

    Potências de 8:

    Potência Resultado
    80 1
    81 8
    82 64
    83 512
    84 4096
    85 32768
    86 262144
    87 2097152
    88 16777216

    Potências de 10:

    Potência Resultado
    100 1
    101 10
    102 100
    103 1000
    104 10000
    105 100000

    Potências de 16:

    Potência Resultado
    160 1
    161 16
    162 256
    163 4096
    164 65536
    165 1048576
    166 16777216
    167 268435456