| |
Registered member 21 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 146 messages |
|
| 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 21 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])
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 948 messages |
|
| Posted on September, 09 2022 - 1:05 PM |
| |
| |
| | | |
|
| | |
| |
| 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++. |
| |
| |
| | | |
|
| | |