Amigos, é o seguinte... Estou usando o PIC18F4550, no C18!
Estou pegando os dados de um receptor GPS e alocando tudo em um vetor de 41 posições. Desse vetor, eu vou pegar só alguns vetores que me interessam, como: aqueles que possuem os dados de latitude e longitude.
Para a latitude e longitude eu criei duas variaveis "short long" (24 bits), para armazenar cada.... Pois, por exemplo, se eu tiver uma latitude de 23,415° (utilizando 5 variaveis do vetor criado, por exemplo), isto será guardado na minha 'short long' como 23415 (casa de décimo de milhar!). A latitude pode chegar a centésimo de milhar! (tipo 176908°)
Enfim...
O calculo que fiz é da seguinte maneira: 2*10000+3*1000+4*100... até chegar no numero completo, para armazenar na minha "short long latitude".
Porém, notei que para alguns valores a conta apresenta um valor absurdo! Isso seria porque a rotina de multiplicação do PIC não suporta grandes numeros, ou porque de alguma maneira eu extrapolei meu 'range' para criar variáveis?? (pois estou usando muitas variáveis, vetores, etc.) Estou com variáveis até o endereço 09A, e o meu vetor vai do 066 - 08F.
Não sei como fazer essa conta dde latitude longitude dar certo!!
Alguém teria alguma ideia?!?
Obrigado a todos!