Octal , hexa?

2 respostas
I

qual a diferença de usar numeros normais , octais ou hexa nos codigos , vejo bastantes em exemplos q pego na internet mas nunca ouvi falar qual a diferença, haveria algum ganho de desempenho/

2 Respostas

A

Olá iKarus,

Acredite você ou naum geralmente é usado números em hexadecimal para facilitar a escrita do programa. Pode parecer esquisito mas olhe só:
Um exemplo simples e comum da utilização de hexadecimal é para representar as cores. Em html as cores variam de “000000” a “FFFFFF”, ou seja temos a combinação de mais 16 milhões de cores e como naum temos tantos nomes de cores assim fica mais fácil utilizar os códigos das cores.
Em outro exemplo temos a utlização de protocolos. Para a implementação e utilização de protocolos como NTP (Network Time Protocol), TCP (Transmission Control Protocol) e outros é “basicamente” interpretação de cabeçalho (header). A especificação , Request For Comments (RFC)detalha o qual o tamanho do cabeçalho e como ele é composto.

No caso do trecho retirado da RFC 958 - NTP

0                   1                   2                   3   
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+
   |LI |   Status  |      Type     |       Precision  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+

Por exemplo:
O “LI” é composto por apenas 2 bits. Na especificação está descrito o que de ser feito para cada caso quando o LI for “00”,“01”,“10” e “11”. O mesmo acontece para os demais componentes do cabeçalho.

Como vc pode ver fica mais fácil trabalhar em hexadecimal do que com números. Realmente trabalhar com hexadecimal é mais rápido, mas para quem está programando isso não chega a ser relevante. Acredito que para usar hexadecimal como nescessidade de performance teria que ser aplicações bem baixo nível.

E

bom no ramo da informatica eu veju utilizarem direto com frequencia
3 tipos:

  • binarios base 2
  • decimas base 10
  • hexadecimais base 16

os octais saum raramente utilizados, saum numeros de base 8

bom os decimais saum utilizados no funcionamento em baixo nivel, pra programador é raramente necessario utilizar esse tipo de sistema numerico, a naum ser que vc tenha que fazer uma rotina de baixo nivel que exija que seja base binaria

base decimal como sabemos usamos pq é a qual estamos acostumados no dia a dia, usamos para expressar as equações casos de calculos numéricos etc

agora os hexadecimais com esse saum usados para representar valores numéricos referentes a programação, configuração coisas do genero
pois com poucos digitos ele podem representar valores gigantestos

sendo 16 simbolos: 0 a 9, A a F

bom essa base vemos com frequencia na definição de cores de paginas em html no formato de uma sequencia de 6 digitos, onde cada par de digitos representam um canal de cor:

#FFFFFF - cor branca

R      G       B

FF FF FF
255 255 255

onde FF = 1516xy1 + 1516xy0 = 255

espero ter ajudado em algo ai para o entendimento

ps.: binario e hexadecimal

cada conjunto de 4 digitos binarios representa 1 digito hexadecimal

F = 1111 = (8+4+2+1) = 15

[]'s
Erko Bridee

Criado 12 de julho de 2004
Ultima resposta 11 de set. de 2004
Respostas 2
Participantes 3