begin process at 2012 02 12 14:29:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

Probléme sur le modulo '%' en C


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probléme sur le modulo '%' en C

jeudi 1 novembre 2007 à 18:32:14 | Probléme sur le modulo '%' en C

Mareck666

    Bonjour amis codeurs, codeuses, ... voila en surfant sur le net j'ai découvert un code sources dans une section de devellopez.com qui concerne les checksums, mai voila il y a quelquechose que je ne comprend pas, a quoi sert le modulo 256 ici, je sait que le modulo c'est le reste d'une divison exemple 12 % 6 = 0 mais voila a quoi il sert ici est pourquoi quand en language C on fait une opération du style (20 % 256) le resultat est 20 alors que le reste de  20/256 fait tous sauf 20 (il fait  0,078... donc ce chers language C devrait me dire 0 au lieu de 20), ...bref la méga grosse prise de tête, sa serait vrément sympa de m'aider en m'expliquant ce mystére autour du modulo...


Voici le code src employant le modulo 256:
<<
typedefunsignedint        TU_int32;   // Mot de 32 bit non signé
typedefunsignedshortint TU_int16; // Mot de 16 bits non signé
typedefunsignedchar TU_int8; // Mot de 8 Bits non signé

TU_int8 __fastcall CalcSomme(AnsiString Message)
{
TU_int8 iuResult = 0; // Resultat sur 8 bits
//--- Calcul de la somme, le premier caractère est en position 1
for (int i = 1; i <= Message.Length(); i++)
iuResult += Message[i];
//--- Modulo Valeur Maxi sur 8 Bits
return (iuResult %= 0xFF);
}
>>

Merci d'avance pour la réponce ^^



jeudi 1 novembre 2007 à 18:39:23 | Re : Probléme sur le modulo '%' en C

luhtor

"alors que le reste de  20/256 fait tous sauf 20".
=> Bas si, c'est 20 le reste:
"20 = 0*256 + 20"
jeudi 1 novembre 2007 à 19:38:12 | Re : Probléme sur le modulo '%' en C

Mareck666

a ok donc on peut avoir un résultat de division null en l'occurence ici donc on a : 20/256 = 0 donc 20%256 = 20, ok ok je croit que je doit avoir quelques lacunes en math moi... m'enfin sa serait cool de m'éclairer sur le code src quand même

merci luhtor pour ta réponce
jeudi 1 novembre 2007 à 20:29:05 | Re : Probléme sur le modulo '%' en C

juju12

a modulo b c'est le plus petit entier m (positif, on va pas se casser la tête) qui vérifie :
a=q*b+m;

a,b,q entiers
jeudi 1 novembre 2007 à 20:42:55 | Re : Probléme sur le modulo '%' en C

luhtor

Réponse acceptée !
Bas le code fait la somme des codes ascii de tes caractères. Seulement il est un peu stupide ce code source, car la somme est stockée sur un entier 8 bits non signé (cad < 256). Donc l'opération modulo ne sert a rien.
vendredi 2 novembre 2007 à 15:26:56 | Re : Probléme sur le modulo '%' en C

Mareck666

ah merci un grand soulagement, sa fesait au moin six longs mois d'affilé que ce code me filé d'atroces migraines a chaque fois que je tombé dessus sur developpez.com, et oui moi quand je comprend pas quelque chose sa me met hors de moi .... et faut que je comprenne sinon sa va mal, mai maintenant c'est de l'histoire ancienne

merci a vous 2


Cette discussion est classée dans : mot, bits, modulo, int8, iuresult


Répondre à ce message

Sujets en rapport avec ce message

Manipulation de bits! [ par katerson ] Salut à tous! J'ai pas mal de lacunes dans ce domaine et j'aimerai donc avoir vos avis! J'ai un mot de 32bits que je dois former grâce à plusieurs [clos] programme matlab reconnaissance mot manuscrit arabe réseau de neurone MLP, carte SOM [ par allaoua ] Voila, j'ai vraiment besoin d'un code source sous matlab qui fait la reconnaissance d'un mot manuscrit arabe avec les réseau de neurone MLP et la cart adaptation d'un code de 32 bits à une plateforme 8 bits [ par xtimas ] Bonjour [^^happy13] j'ai un code cryptographique( algorithme RC6) écrit en C qui utilise des registres de 32 bits en cryptage décryptage et expansion Problème avec la condition d'arret d'une boucle [ par BADZI ] Bonsoir tout le monde, bon j'ai tenté de créer un mot de passe pour mon programme en c et donc j'ai fait une boucle pour redemander d'entrer le mot de Pointeurs et tableau de char ? [ par phyyl ] Bonjour ! J'ai un petit soucis ... voici mon code: [code=cpp] #include using namespace std; void modify(char* ptr[]); int main() { char mot[]= Envoie et réception données sur un service web via programme c++ [ par tofile ] Bonjour a tous [^^clinoeil3] Je suis en école d'ingénieur et je developpe en ce moment un programme en c++ travaillant sur le serveur interne de l'éc motus en C [ par amine124 ] Bonjour, Je veux créer un petit jeu "motus" qui lit un mot et la comparer par le mot d'or (à trouver); si le joueur trouve qqes lettres, on les affi Mot fléché [ par roubalist21 ] bonjour à tous, je voudrais créer une application qui génère une grille de mots fléché à partir d'un dictionnaire, je voudrais avoir votre avis, vos a Calculer une checksum sur 8 bits [ par JOE56570 ] Bonjour, Je cherche la méthode (en C) pour calculer la checksum d'une trame de 6 octets, dont j'ai saisi le modèle à l'analyseur logique. 1er trame :0


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,312 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales