Rechercher : dans
Par :

Overflow addition en c

Dernière réponse le 17 jui 2006 à 08:36:52 phil, le 16 jui 2006 à 21:10:16 
 Signaler ce message aux modérateurs

Comment récuperer les cas d'overflow en c pour l'addition ou la multiplication sur les char, short, int?

peut on recuperer cette erreur? comme les erreurs systemes?


la solution consistant pour l'addition de deux short par exemple, a les surdimensionner en long et de verifier le resultat ne m'interesse pas!!!!

les createur du langage c on t'ils propsé une solution a ce probleme.
merci

Meilleures réponses pour « overflow addition en c » dans :
Interfacer du code assembleur et du C VoirInterfacer du code assembleur et du C Introduction Appeler du code assembleur écrit dans un fichier source externe Avec Nasm (x86 uniquement) Compilation/Execution sous Linux Avec Gcc (multiplateforme) Introduction Si, à tout hasard,...
VirtualBox - Installer les additions client dans Ubuntu VoirUne fois le système d'exploitation installé dans VirtualBox, il est recommandé d'installer les additions client. Ce sont des pilotes à installer dans la machine virtuelle qui améliorent le fonctionnement : affichage graphique plus rapide ; ...
La compilation et les modules en C et en C++ VoirCet article a pour vocation d'introduire les notions de bases de la compilation en C et en C++ et de la programmation modulaire. Il permet de mieux comprendre les messages d'erreur du compilateur. Les notions abordées ici sont indépendantes du...
Télécharger Visual C++ Express VoirVisual C++ Express est une version "gratuite" et allégée de Visual Studio ; l'utilisation requiert l'inscription sur le site de Microsoft. Cet environnement de développement permet de créer des application Win32 ou du .NET C.
Langage C++ - Les types de données VoirLes types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Les structures en langage C VoirDifférence entre une structure et un tableau Un tableau permet de regrouper des éléments de même type, c'est-à-dire codés sur le même nombre de bits et de la même façon. Toutefois, il est généralement utile de pouvoir rassembler des éléments de...

1

kilian, le 17 jui 2006 à 03:57:42

les createur du langage c on t'ils propsé une solution a ce probleme.

Non je ne crois pas. C'est plutôt aux programmeurs de prévoir leur type de leurs variables si elles risquent d'être dépassées dans leur capacité.

Répondre à kilian

2

 Char Snipeur, le 17 jui 2006 à 08:36:52

Salut.
Je ne suis pas expert la dedans, mais si tu fait MAX+1(32XXX+1) tu as soit MIN (-32XXX), soit inf.
Si tu as "inf", c'est simple.
Sinon, tu peux définir une structure se subtituant aux entier, de façon à détecter les dépassements.
struct int2{...}
int2 operator+(int2 a,int2 b)
{
if (a>0&b>0) if (a+b<a|a+b<b) /* traite l'erreur*/ else return a+b;
if (a<0&b<0) if (a+b>a|a+b>b) /* traite l'erreur*/ else return a+b;
...
} Salutation !
Char Snipeur

Répondre à Char Snipeur
Collection CommentÇaMarche.net