Problema com módulo(% resto da divisão) + mikroC + P16f877

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Problema com módulo(% resto da divisão) + mikroC + P16f877

Mensagempor cassiolws » 28 Fev 2009 16:31

Bom se alguém puder dar uma luz fico grato..

não conssigo pegar o resto correto de uma divisão:

a divisãoé a seguinte

.
.
.
unsigned long VAR[3];
unsigned RESTO;
VAR[1] = (50 * 8330);
VAR[2] = VAR[1] - 900;
VAR[3] = VAR[2] / 4000;
RESTO = VAR[3] % 10;
.
.
.
dai quando eu jogo o resto no lcd aparece 6
mas era pra aparecer 9

ja tentei mudar o tipo da formula tipo assim

;
unsigned long VAR;
unsigned RESTO;

VAR = ((50*8330) - 900 / 4000));
;

e também não deu certo, ja tentei nomear as variaveis com letras minusculas (case sensitive) nao deu sempre da a mesma coisa para diferentes valores também.

alguém pode me ajudar?

desde ja agradeço a coompreenção.

abraço
eletronic´s 666 \m/
cassiolws
Bit
 
Mensagens: 26
Registrado em: 15 Jul 2008 00:42

Mensagempor cassiolws » 28 Fev 2009 16:32

só corrigindo aparece 3 e era pra parecer 9
eletronic´s 666 \m/
cassiolws
Bit
 
Mensagens: 26
Registrado em: 15 Jul 2008 00:42

Mensagempor cassiolws » 28 Fev 2009 17:17

pensei aqui agora em uma outra maneir mas tb não deu certo

unsigned long VAR[3];
unsigned RESTO;
VAR[1] = (50 * 8330);
VAR[2] = VAR[1] - 900;
VAR[3] = VAR[2] / 4000;
RESTO = VAR[2]%4000;
eletronic´s 666 \m/
cassiolws
Bit
 
Mensagens: 26
Registrado em: 15 Jul 2008 00:42

Re: Problema com módulo(% resto da divisão) + mikroC + P16f8

Mensagempor Jorge_Francisco » 28 Fev 2009 18:51

cassiolws escreveu:
unsigned RESTO;

RESTO =(((50 * 8330) - 900)/ 400)% 10;


Divida por 400 ao invés de 4000. Lembre-se que unsigned long guarda apenas inteiros e não reais.

Abraço
Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Mensagempor cassiolws » 28 Fev 2009 19:59

Brigado Jorge!

Como eu soh precisava do primeiro numero após a virgula usei a formula do jeito que você passou mas sem o módulo de resto e a partir dai tirei milhar, centena, dezena e unidade sendo que a unidade era o resto da divisão.

VAR =((50 * 8330) - 900)/ 400;
VAR = 1039 a partir daqui tirei milhar, centena, dezena e unidade
lembrando que a unidade eh o meu resto!
:D
eletronic´s 666 \m/
cassiolws
Bit
 
Mensagens: 26
Registrado em: 15 Jul 2008 00:42


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x