Informática NumaBoa Aprenda Java fazendo Applets
Conceitos Básicos:
FUNÇÕES E OPERADORES MATEMÁTICOS

Notice: Undefined variable: idx in /home/numaboa.com.br/public_html/informatica/java/head.php on line 19
Java NumaBoa



PORQUE TANTA MATEMÁTICA?

Fazendo applets, principalmente quando se constrói filtros ou efeitos em imagens, na grande maioria das vezes o "pulo do gato" é um algoritmo que contém funções matemáticas. Rotação, espelhamento, movimento em curva e alteração de cor são apenas alguns dos exemplos. Para construir as funções matemáticas são necessários os operadores matemáticos, como os operadores para soma, subtração, multiplicação e divisão. É claro que não não há a necessidade de dar explicações sobre os operadores básicos mas, alguns operadores especiais... é bom saber como funcionam.

Conceitos gerais:
Sistema binário

Operadores Matemáticos:
Operadores bit-a-bit

Funções Matemáticas:
Seno, co-seno e transposição de pontos (conceito avançado)


SISTEMA BINÁRIO

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:


5a.
casa
4a.
casa
3a.
casa
2a.
casa
1a.
casa
Composição Valor
104 103 102 101 100
10.000 1.000 100 10 1  

1 = 1 1
2 = 2 2
...
9 = 9 9
1 0 = 10 + 0 10
1 1 = 10 + 1 11
... ...
9 9 = 90 + 9 99
1 0 0 = 100 + 0 + 0 100
1 0 0 0 = 1000 + 0 + 0 + 0 1000

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:


8a.
casa
7a.
casa
6a.
casa
5a.
casa
4a.
casa
3a.
casa
2a.
casa
1a.
casa
Composição Valor
27 26 25 24 23 22 21 20
128 64 32 16 8 4 2 1

0 = 0 0
1 = 1 1
1 0 = 2 + 0 2
1 1 = 2 + 1 3
1 0 0 = 4 + 0 + 0 4
1 0 1 = 4 + 0 + 1 5
1 1 0 = 4 + 2 + 0 6
1 1 1 = 4 + 2 + 1 7
1 0 0 0 = 8 + 0 + 0 + 0 8
1 0 0 1 = 8 + 0 + 0 + 1 9
1 0 1 0 = 8 + 0 + 2 + 0 10
1 0 1 1 = 8 + 0 + 2 + 1 11
1 1 0 0 = 8 + 4 + 0 + 0 12
1 1 0 1 = 8 + 4 + 0 + 1 13
1 1 1 0 = 8 + 4 + 2 + 0 14
1 1 1 1 = 8 + 4 + 2 + 1 15
...
1 1 1 1 0 = 16 + 8 + 4 + 2 + 0 30

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.




| AAAA | Página Inicial | Mapa do Site | Novidades | Busca | Indique esta página | Mestre da Teia | Voltar |
| Localizador || @ Info NumaBoa > Java NumaBoa > Funções e Operadores Matemáticos
Créditos: vovó Vicki

webdesign sobMedida by vickiSoft - /informatica/java/matematica.php (14.01.01) versão 1.1 de 13.07.03
Licença Creative Commons 1998-2006 Aldeia NumaBoa
Exceto onde especificamente declarado, todo material deste site é disponibilizado de acordo com a Licença Creative Commons.