Accueil > Forum > > > > Dépassement capacité multiplication integer
Dépassement capacité multiplication integer
mardi 23 août 2005 à 18:54:17 |
Dépassement capacité multiplication integer

bipcpp
|
Bonjour, J'ai trois integer 64 bits : _int64 i1,i2,i3; Comment détecter le dépassement de capacité possible sur i3, lors d'une multiplication : i3 = i1 * i2; Merci.
|
|
mardi 23 août 2005 à 19:26:35 |
Re : Dépassement capacité multiplication integer

cosmobob
|
salut, si ca déborde, i3 aura la particularité d'etre inferieur à i1 ou à i2. a+
|
|
mardi 23 août 2005 à 20:13:15 |
Re : Dépassement capacité multiplication integer

Galmiza
|
Pourtant, en assembleur, il y a des flags qui changent d'états pour ce genre de chose. Quand tu fais une opération et que le resultat vaut 0, est négatif ou depasse la memoire, des bits du flag prennent des valeurs spécifiques. Mais comment lire ces flags, je ne sais pas. Ils sont surtout utiles pour les optimisations de code.
|
|
mardi 23 août 2005 à 20:44:14 |
Re : Dépassement capacité multiplication integer

BruNews
|
Lire CF ici n'aurait pas de sens. La mul sur 64 bits implique au mieux 1 mul SINON 3 mul et 2 add Le flag sera positionné par le dernier add et donc ne voudrait rien dire.
ciao... BruNews, MVP VC++
|
|
mardi 23 août 2005 à 20:45:58 |
Re : Dépassement capacité multiplication integer

vecchio56
|
Même en cas de débordement, on ne peut pas être sûr que i3 sera inférieur à i2 et i1 (par contre le contraire est sûr), a mon avis ca dépend de la manière dont le compilo implémente la multiplication sur 64 bits
|
|
mardi 23 août 2005 à 21:00:37 |
Re : Dépassement capacité multiplication integer

BruNews
|
cosmobob a bien dit inf à l'un OU l'autre.
ciao... BruNews, MVP VC++
|
|
mardi 23 août 2005 à 21:06:16 |
Re : Dépassement capacité multiplication integer

vecchio56
|
et pourquoi il serait pas supérieur au 2?
|
|
mardi 23 août 2005 à 21:07:48 |
Re : Dépassement capacité multiplication integer

BruNews
|
Voila pour vecchio. Galmiza > pas évident de dire quand overflow, sinon faut définir la règle du jeu.
mov eax, [esp+8] ; HIDWORD(x) mov ecx, [esp+16] ; HIDWORD(y) or ecx, eax mov ecx, [esp+12] ; LODWORD(y) jnz short hard mov eax, [esp+4] ; LODWORD(x) mul ecx jmp short mulExit hard: mul ecx mov [esp-4], eax ; SAUVE RESULTAT INTERMEDIAIRE mov eax, [esp+4] ; LODWORD(x) mul dword ptr[esp+16] ; HIDWORD(y) add [esp-4], eax mov eax, [esp+4] ; LODWORD(x) mul ecx add edx, [esp-4] mulExit: ret 16
ciao... BruNews, MVP VC++
|
|
mardi 23 août 2005 à 21:11:02 |
Re : Dépassement capacité multiplication integer

BruNews
|
vecchio, tu aurais un exemple de inférieur aux 2 ?
ciao... BruNews, MVP VC++
|
|
mardi 23 août 2005 à 21:15:14 |
Re : Dépassement capacité multiplication integer

vecchio56
|
#include <iostream>
int main() { unsigned __int64 a = 0xFFFFFFFFF, b = 0xFFFFFFFFF; unsigned __int64 r = a * b; if(r < a || r < b) std::cout << "débordement" << std::endl; }
Cet exemple ne m'affiche pas "débordement"
|
|
Cette discussion est classée dans : integer, multiplication, dépassement, capacité, i3
Répondre à ce message
Sujets en rapport avec ce message
dépassement capacité d'un float et int [ par golum ]
result=scanf("%f",&coef); if (result !=0 && coef !=0)Voila si j'entre un nombre délirant style 9999999999999999999999999999999999999999999999999999999
dépassement de capacité de la pile d'exécution [ par glipper ]
Bonjour,j'ai crée une fonction comme ceci, qui mémorise les malloc effectués par un programme :void* _malloc(size_t n, int line, char* file){ void*
slt [ par samira46 ]
ça va,j'ai un problème et si tu veut aide moi stp pacek j'ai en retard, donc mon problème je veux récupérer les applications installé sur mon pc comme
tri d'un tableau de chaines de caracteres [ par gabsia ]
salut,le traitement c'est trier un tableau de chaines de caractères en ordre croissant :le critere de tri c'est la longueur de la chaine, si 2 chaines
convertir vb en c [ par bosmal ]
bonjour j'ai un petit programme en vb que j'aimerais convertir en c . pourriez vous m'aidez? (surtout ibwrt et ilwrti a remplacer par des sprintf je p
Multiplication arabe en langage C [ par Stockalone1232 ]
Bonjour tout le monde,Je suis débutant en langage C et je dois faire un programme de multiplication arabe de 2 grands nombres pour mon école. Si certa
fatal error C1017: invalid integer constant expression [ par mar1985 ]
Bonjour,s'il vous plaît j'ai besoin de votre aide.Ben je travaille sur Visual Studio 2005, lors de la compilation d'un projet je trouve l'erreur suiva
Multiplication et addition [ par aqwali ]
Prière, je veux un programme qui effectue l'addition et la multiplication de plusieurs nombres avec la plus grande taille, je travaille avec Dev-C++.
somme et multiplication de tres grands nombres en c [ par sarah000c ]
slt tt lmonde, je cherche un programme qui calcule la somme et la multiplication de tré grands nombres en language c ,veuillez m'aider c vraiment urge
makes pointer from integer without a cast . . . [ par Crocandrew ]
Bien le bonjour, je suis en train de réaliser mon projet de fin d'anée en C, et j'ai un petit probème en ce qui concerne la fonction strcpy !!A chaque
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|