Para usar algumas funções e operadores especiais, precisamos conhecer o formato binário dos números. No sistema decimal temos 10 dígitos (de 0 a 9) para compor números. No sistema binário temos apenas dois: 0 e 1. Você sabe que no sistema decimal, da direita para a esquerda, cada casa tem valor 10 elevado à posição da casa. Portanto, a primeira casa é das unidades, a segunda das dezenas, a terceira das centenas, etc. Você também sabe que, para incrementar um número, quando se esgota os dígitos disponíveis, incorporamos a casa imediatamente à esquerda. O exemplo abaixo ilustra melhor: |
Observe nas duas últimas linhas que, se quisermos multiplicar um número por 10 (a base do sistema decimal) precisamos apenas deslocar os dígitos uma casa para a esquerda, para multiplicar por 100, duas casas para a esquerda, por 1000 três - ou seja, o número é multiplicado por 10 tantas vezes quanto forem as casas deslocadas.
Se deslocarmos os dígitos para a direita, obtemos o valor inteiro de uma divisão por 10, duas casas para o inteiro de uma divisão por 100, etc - ou seja, o número é dividido por 10 tantas vezes quanto forem as casas deslocadas.
Pois bem, vamos fazer o mesmo raciocínio com o sistema binário: |
Cada casa do sistema binário é um bit (a menor unidade de informação) e seu valor só pode ser 0 ou 1. Para compor o número 15 em binário, precisamos de 4 bits e sua expressão em 8 bits é 00001111.
Observe na última linha que, se quisermos multiplicar um número por 2 (a base do sistema binário) precisamos apenas deslocar os dígitos uma casa para a esquerda. Se quisermos uma multiplicação por 4, deslocamos duas casas à esquerda, etc.
Se deslocarmos os dígitos para a direita, obtemos o valor inteiro de uma divisão por 2 (compare 15 e 7). Deslocamentos de duas casas multiplicam ou dividem por 4; de três casas multiplicam ou dividem por 8 e assim sucessivamente. |