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
Números Hexadecimais, Octais e Binários

Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 2x no Cartão de Crédito. 

Veja como comprar e saiba mais sobre o material oferecido,  clicando aqui.

Open v3

 

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: