bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Números Hexadecimais, Octais e Binários

... Assinatura do site por 1 ano + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$100,00
(
podendo parcelar em até 10 vezes no cartão de crédito)...

Clique aqui e obtenha mais detalhes do nosso kit completo e de como comprar.


Números Hexadecimais, Octais e Binários

Antes de iniciar sua leitura, clique aqui e cadastre-se para receber comunicados sobre novos artigos.

O VBA disponibiliza as funções Hex() e Oct() para transformar um número Decimal em Hexadecimal e em Octal, respectivamente.

hex(302010) :::> 49BBA

Oct(302010) :::> 1115672

No caso de passar o valor de Hexadecimal ou Octal para Decimal,  utiliza-se uma das funções de conversão Val(), Clng, Cint(), ... com os prefixos &h e &o

Clng("&h" & "49BBA") :::> 302010

Clng("&o" & 1115672) :::> 302010

Para passar de Decimal para Binário, utiliza-se a fórmula clássica que é a de ir agrupando o resto das sucessivas divisões por 2.  Exemplo: vamos achar o binário do valor decimal 35:

35 / 2 :::> resto 1  Resultado 17

17 / 2 :::> resto 1  Resultado 8

8 / 2 :::> resto 0  Resultado 4

4 / 2 :::> resto 0  Resultado 2

2 / 2 :::> resto 0  Resultado 1

1 / 2 :::> resto 1  Resultado 0
 

Juntando em seqüência, os valores obtidos do resto, obtém-se como resultado, o valor binário correspondente.

35 :::> 100011

Observe a função que realiza o cálculo e retorna com o valor Binário:

Public Function fncDecBin(dec)
Dim bin$
If dec = 0 Then bin = "0"
Do While Not dec = 0
  bin = (dec - Int(dec / 2) * 2) & bin
  dec = Int(dec / 2)
Loop
fncDecBin = bin
End Function

De Binário para Decimal, utiliza-se a fórmula que usa o valor de cada posição binária.  Exemplo:

252423222120 :::> 32-16-8-4-2-1

(32 * 1) + (16 * 0) + (8 * 0) + (4 * 0)  + (2 * 1) + (1 * 1) = 35

Observe a função que realiza o cálculo e retorna com o valor Decimal:

Public Function fncBinDec(bin)
Dim k
Dim dec
For k = Len(bin) To 1 Step -1
  dec = dec + ((2 ^ (k - 1)) * Mid(bin, ((Len(bin) + 1) - k), 1))
Next
fncBinDec = dec
End Function

Veja agora, o uso da funções acima nestes casos.

Para passar de Hexadecimal para Binário:

fncDecBin(Clng("&h" & "49BBA")) :::> 1001001101110111010

Para passar de Octal para Binário:

fncDecBin(Clng("&o" & 1115672)) :::> 1001001101110111010

Para passar de Binário para Hexadecimal:

Hex(fncBinDec("1001001101110111010")) :::> 49BBA


Bom estudo!


 

 


Não há comentário

Envie seu comentário: