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/
Octal , hexa?
2 Respostas
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.
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