Accueil > Forum > > > > Probléme sur le modulo '%' en C
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
ecriture de champ de bits dans un fichier [ par obasileus ]
Salut, est-ce que quelqu'un sait comment ecrire un champ de bits (9 bits) dans un fichier ?merci d'avance@+obasileus
crypter un mot de passe et créer un répertoire [ par Vinsou ]
salut,je cherchais une focntion qui permetrai de crypter un mot de passe sous linux pour pouvoir l'ajouter dans /etc/passw (dans un script bien sûr).O
Palindrome et espaces [ par TheRecliner ]
Bonjour,je dois faire petit programme qui détécte si un phrase est un plaindrome ou non....j'ai bien résussi à faire cette détection mais uniquement p
CreateFile [ par Toobad ]
J'ai un prob avec CreateFile sous VC++6Au dernier argument il arrete pas de boguer sur une histoire de conversion VOID* en INT.J'ai essayer un tas de
comment protéger l'ouverture d'un fichier ? [ par f1cobra ]
Bonjour, je voudrais protéger l'ouverture d'un fichier excell par un mot de passe, de manière a ce que seules les personnes ayant le mot de passe puis
Utilisation de DLL dans un système 16 Bits DOS 6.22 [ par yass007 ]
Voila,je voudrai savoir tt dabord sil ya des tutoriaux sur comment creer des Dlls sous Turbo C++ 3.0 et compatibles avec un système 16 Bits , en l'occ
Rechercher une chaîne de caractère dans un fichier et afficher la ligne !! [ par UncleShu ]
Exemple : Mot à rechercher :-> friend----fichier où il faut rechercher le mot-----enfant childenfants childrenami friendwhen
port serie : manipulation des bits [ par tobby ]
Bonjour, je cherche a maitriser l'ensemble des pins du port serie, independement de tout protocol, en C.Est-ce que qqn aurait une solution?merci d'ava
offset ds un CFile [ par idiotech ]
g un fichier de type CFile ki a un mot a chaque ligne et en fait je voudrais lire un mot d'une lignecomment je fais pour lire avec un offset au debut
* Mot de passe [ par shenron ]
Slt,vs savez comment on fait pour lorsqu'un user saisit une chaine de caractère, ce k'il tape se met en * comme si c t un mot de passe?
Livres en rapport
|
Derniers Blogs
EDITEUR XAML DE VISUAL STUDIO: COMMENT ALIGNER LES ATTRIBUTS LES UNS EN DESSOUS DES AUTRES AUTOMATIQUEMENTEDITEUR XAML DE VISUAL STUDIO: COMMENT ALIGNER LES ATTRIBUTS LES UNS EN DESSOUS DES AUTRES AUTOMATIQUEMENT par Miiitch
Lorsque l'on écrit du XAML, les tags XML peuvent vraiment devenir très longs et pas pratique à lire: Il y a une option vraiment pratique dans l'éditeur de Visual Studio qui va nous permettre de réorganiser tout cela en mettant les attributs XAML les uns e...
Cliquez pour lire la suite de l'article par Miiitch MIX10 A LAS VEGAS : IMMERSIONMIX10 A LAS VEGAS : IMMERSION par odewit
Hi from Vegas !
En resume [je corrigerai les accents a mon retour !], Las Vegas m'impressionne par sa demesure.
Ou que l'on aille, les itineraires traversent des salles bruyantes pleines de machines a sous et de tables de jeu.
Les decors, surtout a...
Cliquez pour lire la suite de l'article par odewit [RIA SERVICES] MAITRE - DéTAIL ET DOMAINDATASOURCE[RIA SERVICES] MAITRE - DéTAIL ET DOMAINDATASOURCE par Audrey
A l'occasion d'un projet client, j'ai utilisé RIA Services avec Silverlight 3 (mais cela fonctionne aussi avec la version 4), et je l'ai utilisé pour une interface façon Maitre / Détail. Voici comment j'ai procédé pour arriver à mes fins. Nous allons pren...
Cliquez pour lire la suite de l'article par Audrey CSDL FUNCTIONCSDL FUNCTION par Matthieu MEZIL
Dans mon post précédent , j'ai utilisé une CSDL Function afin de générer une requête SQL avec un DateDiff utilisant la date courante sur la BD à partir d'une requête LINQ. Dans le cadre de ce post , vous avez probablement remarqué que dans le cadre de plu...
Cliquez pour lire la suite de l'article par Matthieu MEZIL LINQ TO ENTITIESLINQ TO ENTITIES par Matthieu MEZIL
Cette semaine je suis à Montréal en tant que speaker sur Entity Framework pour l'évènement confoo . J'en profite pour remercier les organisateurs de cet évènement de m'avoir fait confiance et Access-IT de m'avoir permis d'y participer. En parallèle, j'ai ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|