PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Pb de calcul sur grand entier (clef RIB)
Pb de calcul sur grand entier (clef RIB)
Started by RC5M1SUR2, Sep., 09 2022 10:42 AM - 5 replies
Registered member
13 messages
Posted on September, 09 2022 - 10:42 AM
bonjour

Sigma est un entier sur 8 octets

lors d'un calcul de vérification d'une clef RIB, message "dépassement de capacité lors de l'affectation"
voir image avec code.





comment réaliser le calcul ?
Merci
Registered member
102 messages
Popularité : +1 (1 vote)
Posted on September, 09 2022 - 10:52 AM
un entier long est limité à 9*10 puissance 18 votre calcul peut avoir des valeurs jusqu'a 9999* 10 puissance 18 d'où le dépassement, j'utiliserais plutot le type numérique(22,0) pour stocker votre calcul
Registered member
13 messages
Posted on September, 09 2022 - 11:51 AM
Merci Silverin,

J'ai essayé de passer mes variables en entier système, j'ai décomposé les puissances de 10




Ca plante.
Posted on September, 09 2022 - 12:11 PM
Bonjour,
J'obtiens une erreur semblable en positionnant à 1 le bit 64 d'un entier sans signe sur 8 octets.
La valeur retournée de ce bit est "-1" et non 1!
nValBit64 est un entier sans signe sur 8 octets = 0
nValBit64[64] = 1
Info (nValBit64[64]) // --> renvoi -1 !!!
//message triangle dans le code: Dépassement de capacité lors de l'affectation.

Dans mon cas particulier, j'ai contourné momentanément le problème en utilisant les valeurs absolues.
Une demande a été remontée chez PCSoft, mais pas encore de réponse.
Je ne sais si cela peut aider...

Bon dev.
Robert
Registered member
946 messages
Popularité : +102 (110 votes)
Posted on September, 09 2022 - 1:05 PM
le type entier sans signe est bugué depuis un bail voir https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windev.old/26769-perd-binaire/read.awp
il est toujours signé d’où votre -1

--
«Nos clients sont nos meilleurs beta testeur.» H. Mintzberg
«Un programme informatique fait ce que vous lui avez dit de faire, pas ce que vous voulez qu'il fasse» Troisième loi de Greer
Posted on May, 25 2023 - 11:17 AM
Le problème est toujours présent sur WIndev 28.
C'est très perturbant et limitant pour certain codes qui pour être efficaces doivent pourvoir jouer avec des opérations binaires et sans générer d’interruption de dépassement.
C'est un minimum pour un langage de pouvoir manier correctement des entiers sans signe.
J'en suis à me demander si je ne vais pas abandonner Windev et revenir à C++.