CCS C - probleme de multiplication
Rind
-
emit-fr Messages postés 28 Statut Membre -
emit-fr Messages postés 28 Statut Membre -
Bonjour,
J'ai un gros soucis pour programmer un PIC 16F876A en C...
J'envoie ce code:
int8 m[32][3];
int32 temp;
matrix[0][0] = 100;
printf("%Lu \n", 4096*100);
printf("%Lu \n", 4096*m[0][0]);
temp = m[0][0]*temp;
printf("%Lu \n", temp);
Les trois résultats devraient être les mêmes...
Mais j'obtiens : 409600 16384 16384
Je suis complètement perdu là... Avez vous une idée ?
J'ai un gros soucis pour programmer un PIC 16F876A en C...
J'envoie ce code:
int8 m[32][3];
int32 temp;
matrix[0][0] = 100;
printf("%Lu \n", 4096*100);
printf("%Lu \n", 4096*m[0][0]);
temp = m[0][0]*temp;
printf("%Lu \n", temp);
Les trois résultats devraient être les mêmes...
Mais j'obtiens : 409600 16384 16384
Je suis complètement perdu là... Avez vous une idée ?
A voir également:
- CCS C - probleme de multiplication
- Application multiplication - Télécharger - Études & Formations
- Signe multiplication clavier ✓ - Forum Windows
- Signe de la multiplication sur le clavier - Forum Clavier
- Cdg achevement cc combien de temps - Forum Consommation & Internet
- Multiplication en anglais excel - Guide
1 réponse
Bonjour,
Il faut transtyper pour que le compilo "comprenne" que l'on souhaite un résultat sur 32 ou 24 bits dans votre cas !
https://www.emit-fr.com/ : Conception électronique
Il faut transtyper pour que le compilo "comprenne" que l'on souhaite un résultat sur 32 ou 24 bits dans votre cas !
printf("%Lu \n", (int32)4096*m[0][0]);
temp = m[0][0];
temp *= 100;
printf("%Lu \n", temp);
https://www.emit-fr.com/ : Conception électronique