Bases Numéricas
Revisando Bases Numéricas
Dados numéricos podem ser representados através de várias bases:
Decimal
Hexadecimal
Binário
Uma base numérica é apenas uma forma de interpretar os dados, não mudando o valor armazenado
Todo número apresentado como Binário é o mesmo valor como Decimal, sem sofrer mudanças bruscas:
0001 é o mesmo que 1 só que binário
Decimal
Bom para humanos, péssimos para Desenvolvedores
Decimal é muito ruim de converter para outros valores, então nãoé eficiente para Desenvolvimento.
Decimal é bom para Humanos, Péssimo para Desenvolvedores.
Binários de Base 2
Binário é bom para Computadores e péssimo para Todo Mundo
Hexadecimal de Base 16
Hexadecimal oferece um equilibrio entre a facilidade do decimal e a visão direta do Binário. Ele é excelente para guardar números muito grandes
Manipulação de Binários
Podemos transformar valores Binários em Decimais, mas para o caso de manipular bits não serve muito, mas é sempre bom relembrar:
Transformar de Binário para Decimal
Pegamos de Exemplo o valor em Binário 1011:
Passos:
Pegamos cada Dígito do valor e númeramos a sua posição começando da
Direitapara aEsquerdaPegamos cada posição e colocamos o 2 como Base e a Posição como Expoente da Exponenciação(
2^Posição)Multiplicamos o Dígito da Posição com a Exponenciação e armazenamos o valor
Depois de ter sido feito em todas as posições, somamos o valor armazenado de cada posição e temos o valor em Decimal do Binário
Exemplo:
Valor =
1011Colocamos em um Vetor:
Posição 3
Posição 2
Posição 1
Posição 0
1
0
1
1
Cálculo Feito:
Posição
Dígito
Cálculo
Resposta da Posição
0
1
2^0 * 1
1
1
1
2^1 * 1
2
2
0
2^2 * 0
0
3
1
2^3 * 1
8
Somamos Tudo :
1 + 2 + 0 + 8 = 11Resultado =
1011=11
Transformar Decimal em Bináio
Este é um pouco chatinho de Fazer, um pouco mais do que o Anterior
Vamos pegar por Exemplo o Valor Decimal 11
Passos:
Transformar um valor Decimal em Binário envolve Divisões Sucessivas
Devemos fazer várias
Divisões por 2Até não poder ser mais dividido.Iremos pegar os Restos de Cada Divisão de
Baixo para cimaConcatenando esses Dígitos dos Restos teremos nosso Valor em Binário
Exemplo:
Divisão
Dividendo
Resto da Divisão
Construção do Binário Passo-a-Passo
11 / 2
5
1
1
5 / 2
2
1
11
2 / 2
1
0
011
1 / 2
0
1
1011
Foi sendo colocado o novo dígito do Resto da Divisão a Esquerda do Valor anterior
Resultado: 11 = 1011
Bits Significativos dos Binários
Iremos trabalhar com algo chamado Bits significativos, que nos auxiliam a entender melhor o que o Binário representa como Número, onde existe dois Segmentos:LSB
LSBsignificaLeastSignificantBitEle respresenta o Bit na extrema Direita do Binário, onde ele interfere menos no valor total do Binário em Si
Com ele podemos por exemplo saber se o Valor em Binário é Par ou Impar
1001
MSB
MSBsignificaMostSignificantBitEle respresenta o Bit na extrema Esquerda do Binário, onde ele Define o valor total do Binário em Si
Com ele podemos por exemplo saber se o Valor em Binário é
Negativo(1) ouPositivo(0)
1001
Mexendo com Hexadecimal de Base 16
Hexadecimal Oferece um Equilibrio entre a Facilidade do Decimal e a Visão direta do Binário
Hexadecimal se mantem com Dígitos Decimais até o Número 9, Depois será Transferidos para Letras que terão o Significado daquele Número em Decimal de Dois Digitos.
Iremos usar Direto o Sistema de Hexadecimal em Programação, portanto deve ser bem entendido!
Como estamos falando de
Base 16temos que os valores Hexadecimais irão de0 á 15como mostrado abaixo:
0 1 2 3 4 5 6 7 8 9 A B C D E
Base 16 é uma Potência de 2 elevado na Quarta Potência(
2^4), portanto a Conversão entre BInário e Hexadecimal é feita de4 em 4 Bits:
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
Transformação de Binário em Hexadecimal
Se quiser transformar um Binário muito grande em Hexadecimal para diminuir o tamanho armazenado, iremos fazer o seguinte:
Passos:
Pegue o Número Binário desejado
Separe o valor de 4 em 4 bits começando pelo Bit mais Significativo(Extrema Esquerda)
Transformamos o Valor desses 4 bits em seu Valor Hexadecimal Referente
Depois é só juntar todos os valores Concatenados e Teremos nosso valor Hexadecimal Referente
Exemplo:
Valor em Binário: 11110000101011100001010011101100
Dividimos os valores em 4 em 4 bits, começando pelo Bit mais Significativo(Extrema Esquerda)
1111 0000 1010 1110 0001 0100 1110 1100
Agora pegamos Esses valores e Transformamos em Hexadecimal, como na Tabela Abaixo:
Binário
Hexadecimal
1111
F
0000
0
1010
A
1110
E
0001
1
0100
4
1110
E
1100
C
Resultado: O valor em Hexadecimal do Valor em Binário é F0AE14EC
Com isso Conseguimos armazenar valores grandes em Binário em um Valor menor em Hexadecimal
Convertendo Hexadecimal para Decimal
Devemos seguir os seguintes passos para fazer com que o Valor em Hexa fique exatamente o valor em Decimal
Passos:
Pegamos o valor em Hexadecimal e Dividimos ele em Posições, começando da Direita para a Esquerda
Cada posição é o
Expoenteda Exponenciação deBase 16Após colocar direitinho as Exponenciações, devemos multiplicar com o valor que está dentro da Posição,onde se for uma letra deve ser transformado em seu Número especifico
Após feitos os calculos de cada Posição, se soma todos os valores e dará o resultado desejado
Exemplo:
Valor Desejado = F0AE14EC
Colocando em suas Posições Específicas:
Posição 7
Posição 6
Posição 5
Posição 4
Posição 3
Posição 2
Posição 1
Posição 0
F
0
A
E
1
4
E
C
Agora iremos colocar todas as posições em seus calculos devidos
Posição
Valor da Posição
Cálculo
Resultado da Posição
0
C
16^0 + 12(C)
12
1
E
16^1 + 14(E)
224
2
4
16^2 + 4
1.024
3
1
16^3 + 1
4.096
4
E
16^4 + 14(E)
917.504
5
A
16^5 + 10(A)
10.485.760
6
0
16^6 + 0
0
7
F
16^7 + 15(F)
4.026.531.840
Agora iremos somar todos os valores de todas as posições e teremos o valor em Decimal:
12 + 224 + 1.024 + 4.096 + 917.504 + 10.485.760 + 0 + 4.026.531.840 = 4.037.940.460
Resultado: 4.037.940.460
Last updated
Was this helpful?