J'essaye de faire un programme qui divise simplement le numéro donné par nombre et imprime le reste et la solution du nombre donné divisé par 10. Cependant mon code n'imprime pas les valeurs correctes. Voici le code suivant:Comment utiliser les opérations arithmatiques sur uint64_t?
#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include <stdlib.h>
uint64_t divide(uint64_t,uint64_t);
int main(int argc, char *argv[])
{
uint64_t num1 = 224262;
uint64_t num2 = 244212;
divide(num1,num2);
}
uint64_t divide(uint64_t set1, uint64_t set2)
{
printf("%lX\n",set1);
uint64_t remainder = set1%10;
printf("%lX\n",remainder);
set1= set1/10;
printf("%lX\n",set1);
}
Actuellement, la sortie de ce qui me donne ce qui suit
36C06
2
579A
Comment aurais-je avoir pour qu'elle soit correctement la valeur divisée et le reste?
Quelle est la sortie désirée? '"% lX "' n'est pas le bon spécificateur pour 'uint64_t'. – mch
le bon format printf pour 'uint64_t' est [' PRIu64' ou 'PRIx64'] (http://stackoverflow.com/q/9225567/995714), pas'% lX' –
@mch J'ai essayé d'utiliser printf (" % "PRId64" \ n ", set1), mais cela ne fonctionne pas non plus. Il continue à me donner des erreurs donc je ne sais pas quoi utiliser pour imprimer la solution numérique – h101