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

Adquira a assinatura vitalícia do site e passe a ter acesso aos arquivos exemplos, vídeos, revistas, livros e ao kit de montagem de ribbons. Você terá suporte por e-mail, caso necessite tirar dúvidas pontuais. Clique AQUI e veja como obter um dos nossos planos. Clique AQUI e faça uma visita a seção Downloads do site e verifique as centenas de arquivos que estará à sua disposição. Clique AQUI e faça uma visita a seção Vídeos do site e veja a lista que estará disponível ao se tornar o nosso assinante vitalício. Clique AQUI e saiba mais detalhes sobre o kit de montagem de ribbons (deixe seus aplicativos com aspecto profissional).



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: