Char Snipeur
5034Messages postés
23 avril 2004Date d'inscription
25 mai 2012Dernière intervention
2 juil. 2008 à 13:59
oui et non.
entier%1000 te donne un nombre compris entre 0 et 999, qui tronque en fait la parti "haute" du nombre. Pour la deuxième opération, il vaut mieux faire :
temp=entier/1000; où tu utilises les propriétés de la division entière.
Mais après tout dépend de l'utilisation exacte que tu veux faire de ça. Ta méthode prends soit plus de place, soit limite la gamme d'utilisation. Si byte=octet comme couramment utilisé, alors chaque variable byte vaut au maximum 255, il faut donc adapter ta méthode et passer de 1000 à 100. ainsi tu ne peux codé que des nombre inférieur à 10000.
Tu peux optimiser en remplaçant les 1000 par 256(temp=entier%256;temp=entier/256;), mais ta méthode reste dépendante de la base choisie. Ce que je t'ai donné reste valide quelque soit l'implémentation du compilateur.
De plus, ma technique ne demande pas de temps cpu (ou très peu)
Tu peux même encore simplifié en disant :
byte* tab_trans=&entier;