Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : calcul arithmétique [ Algorithme / Maths ] (totolito3535)

vendredi 30 novembre 2007 à 10:43:01 | calcul arithmétique

totolito3535

Bonjour,

voila deux jours et plus que je cherche quelque chose que je pense simpleet qui existe forcément. Je ne peux plus me permettre de perdre de temps.

Je voudrais effectuer un checksum d'une chaine de caractère afin de pouvoir envoyer une trame vers mon port COM.

Ma question : comment faire la somme de mes caractère ascii (dont je connai la valeur hexadecimal) et y appliquer un modulo 256

pour etre plus concret : comment faire pour codeer la chose suivante

chaine de départ : 9 5 H E L L O qui correspond en hexa a 39 35 48 45 4C 4C 4F
et qui devrai donner apres addition : 1E2 modulo 256 = E2

sachant que je veux récupérer ce fameux E2 qui correspond a mon checksum

c'est surement simple voir facile mais je n'ai plus de recul et la je desespere ............................

vendredi 30 novembre 2007 à 12:35:39 | Re : calcul arithmétique

Loda

Membre Club
Réponse acceptée !
salut,

je suppose que tu cherche l'opérateur mod.

sinon, je te rappel que l'hexa est juste un moyen d'afficher une valeur. comme le binaire, le décimal ou l'octal. et comme les char sont des bytes... T'as juste à les additioner.

si j'ai bien compris ce que tu veux faire, un for sur ton tableau avec un checksum := checksum + tab[i] mod 256; devrait faire l'affaire. (à vérifier)

bon code,

Loda

Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.

vendredi 30 novembre 2007 à 14:10:51 | Re : calcul arithmétique

cantador

Membre Club
Réponse acceptée !

procedure TForm1.Button1Click(Sender: TObject);
var
  str: string;
  i, total: integer;
begin
  Total := 0;
  str := '95HELLO';
  for i := 1 to Length(str) do
    total := total + Byte(Str[i]);
  ShowMessage(IntToStr(total mod 256));
end;

prends un avatar..c'est plus convivial..

cantador


vendredi 30 novembre 2007 à 14:15:10 | Re : calcul arithmétique

totolito3535

merci beaucoup je test ça au plus vite.

et surtout pour la rapidité de la réponse

vendredi 30 novembre 2007 à 14:23:58 | Re : calcul arithmétique

f0xi

Membre Club Administrateur CodeS-SourceS

CRC32!



deefsign.gif

vendredi 30 novembre 2007 à 15:01:43 | Re : calcul arithmétique

totolito3535

Merci à tous ça fonctionne

en espérant rendre binetot service a mon tour

A+

vendredi 30 novembre 2007 à 20:12:42 | Re : calcul arithmétique

khawarizm

Membre Club

Hi ; j'ai une question  SVP .

Dans le code fourni par cantador la variable totale est initialisée à zéro(alors que moi , je pensai qu'une variable integer sous Delphi est initialisée à zéro au moment de sa déclaration ) alors j'ai tester le code en enlevant l'initialisation et à ma surprise le résultat à changer !!! ce qui veut dire que l'initialisation là n'était pas fortuite ; j'ai bien lu et relu le code cherchant à comprendre le pourquoi du comment mais je ne pige toujours rien et j'ai le sentiment que je « zappe »  quelque chose d'important mais quoi au juste   MERCI à vous .


vendredi 30 novembre 2007 à 22:45:47 | Re : calcul arithmétique

cantador

Membre Club
L'initialisation des vaiables...pourquoi pas..
Il faut faire un autre topic..
n'est ce pas Julio ?

cantador

samedi 1 décembre 2007 à 20:08:59 | Re : calcul arithmétique

WhiteHippo

Membre Club
Bonsoir

Khawarizm, comme le dis la documentation de Delphi sur les variables :
"Si vous n'initialisez pas explicitement une variable globale, le compilateur l'initialise à 0."
"Les variables locales, par contre, ne peuvent être initialisées dans leur déclaration et contiennent des données aléatoires tant qu'elles ne sont pas initialisées."


Cordialement.

"L'imagination est plus importante que le savoir." Albert Einstein



Cette discussion est classé dans : caractère, chose, calcul, modulo, arithmétique


Répondre à ce message

Sujets en rapport avec ce message

calcul modulo [ par cycy07 ] bonsoir,je dois calculer c= m exposant e modulo rvoici comment j'ai procédé :mes variables sont :e1,expo,m,r1,x,c:real;//Encryptage par le tiers de M Caractère alphabetique majuscule [ par Tank01 ] Bonjour, Je voulais savoir comment exprimé en delphi un caractère en Alphabetique Masjuscule ( afin de faire un teste dans IF) ? Merci beaucoup et b Requête paramétrées sous delphi 2006 [ par jule49 ] Bonjour,Je voulais savoir si quelqu'un avait entendu parlé des preparedstatement en JAVA (Requête précompilé). Si oui, je voulais savoir si il existai chaine de caractère [ par e14273 ] salut, j'essai de supprimer tous les espaces dans une chaine, ex: b onj our => bonjour, je sais k'il existe des fonctions tte faite pour ça dans pa Une procédure peut elle retourner un entier? [ par saiyajin3 ] Voilà : Je souhaiterais que ma procédure fasse un calcul et me retourne un entier mais ça ne marche pas comme ça:procedure Calcul(num: integer ; num2 Probleme avec AND, ET logique [ par picolo5 ] Salut a tous !!J essaye de porter un code C++ vers Delphi 2005, Je coince avec un calcul binaire, je ne me souvient plus comment s'appelle se calcul   Manipulation de chaine de caractère [ par CharlyLima ] Petit SOSSur Delphi 7 vers française.J'essais d'utiliser "MidStr" sous cette forme : Famille := MidStr (MotComplet[W],7,1);Afin d'obtenir dans Famille Reconnaisse de caractère [ par vivelesquads ] Bonjour,J'ai besoin dans un de mes programme en Delphi d'inclure une reconnaissance de caractères(que des chiffres). Connaissez-vous des composants, d Lire & Supprimer un caractère dans un fichier [ par Encore1ben ] Bonjour,J'ai repris le code source de mon prédécesseur concernant une application qui est censé formater un fichier texte en un autre. Malheureusement suppression d'une feuille de calcul! [ par othland ] en créant un document excel avec la technique OLE, je manipule un document qui contient 3 feuilles de calcul.or moi, je n'en ai besoin que de 2 feuill


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,359 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.