Accueil > Forum > > > > Vérifier si mon nombre est trop grand
Vérifier si mon nombre est trop grand
jeudi 13 février 2003 à 03:39:45 |
Vérifier si mon nombre est trop grand

tweeder
|
Salut Dans mon programme, je dois vérifier si le nombre entré dépasse la capacité d'un unsigned int. De quelle facon puis-je m'y prendre ? Est-ce que je regarde si ma valeur est en desous de 4294967295 ? Parce que quand je rentre une grande valeur plus grande que 4294967295, il semble que la valeur soit tronquée automatiquement a 4294967295 !?!?! Merci de votre aide
|
|
jeudi 13 février 2003 à 05:28:57 |
Re : Vérifier si mon nombre est trop grand

jonathanmcdougall
|
> Dans mon programme, je dois vérifier si le nombre entré dépasse la capacité d'un unsigned int. > De quelle facon puis-je m'y prendre ? Est-ce que je regarde si ma valeur est en desous de 4294967295 ? > Parce que quand je rentre une grande valeur plus grande que 4294967295, il semble que la valeur soit tronquée automatiquement a 4294967295 !?!?!
Impossible, ce n'est même pas spécifique à ton implémentation, c'est spécifique au *hardware*. Certains processeurs, les intel x86 entre autres, je crois, lance un certain signal que l'on peut attraper avec signal() (<signal.h>).
Les compilateurs ne doivent pas ni lancer d'exception ni faire quoi que ce soit lorsqu'un overflow arrive, il ne doivent que faire un 'wrap-around', c'est-à-dire la transformer en négatif.
De plus, les valeurs maximales sont, elles, définie par ton implémentation. Donc, le 'int' chez moi peut prendre 32 octets et 4 chez vous.
Bonne chance!
Jonathan Mcdougal Montréal, Québec mcdougalljonathan@hotmail.com http://www.multimania.com/utopiasoftware
|
|
jeudi 13 février 2003 à 09:15:33 |
Re : Vérifier si mon nombre est trop grand

BruNews
|
Salut, WIN32 a func GetDlgItemInt(...) qui sait dire si bon ou pas. Serait pas difficilile d'ecrire une func pour controler si entree > 32 bits. Des que j'ai le temps j'en publie un petit prog demo. Essaie donc entre temps. Jette un oeil sur methode conversion AscciToBinary, je suis sur que tu comprendras comment effectuer le test. ciao...
------------------------------- Réponse au message : -------------------------------
> Salut > > Dans mon programme, je dois vérifier si le nombre entré dépasse la capacité d'un unsigned int. > De quelle facon puis-je m'y prendre ? Est-ce que je regarde si ma valeur est en desous de 4294967295 ? > Parce que quand je rentre une grande valeur plus grande que 4294967295, il semble que la valeur soit tronquée automatiquement a 4294967295 !?!?! > Merci de votre aide
|
|
jeudi 13 février 2003 à 11:09:39 |
Re : Vérifier si mon nombre est trop grand

BruNews
|
C'est bon je t'ai fait prog de test. Va voir sources BruNews. ciao...
------------------------------- Réponse au message : -------------------------------
> Salut, > WIN32 a func GetDlgItemInt(...) qui sait dire si bon ou pas. > Serait pas difficilile d'ecrire une func pour controler si entree > 32 bits. Des que j'ai le temps j'en publie un petit prog demo. Essaie donc entre temps. Jette un oeil sur methode conversion AscciToBinary, je suis sur que tu comprendras comment effectuer le test. > ciao... > > ------------------------------- > Réponse au message : > ------------------------------- > > > Salut > > > > Dans mon programme, je dois vérifier si le nombre entré dépasse la capacité d'un unsigned int. > > De quelle facon puis-je m'y prendre ? Est-ce que je regarde si ma valeur est en desous de 4294967295 ? > > Parce que quand je rentre une grande valeur plus grande que 4294967295, il semble que la valeur soit tronquée automatiquement a 4294967295 !?!?! > > Merci de votre aide >
|
|
jeudi 13 février 2003 à 12:54:00 |
Re : Vérifier si mon nombre est trop grand

vieuxLion
|
Cher Jonathan, je suis curieux de savoir sur quel système tu travaille
en réponse à la question première, - Si la saisie est faite via "cin", essayez la petite astuce sur "cin" que j'ai récement posté http://www.cppfrance.com/article.aspx?Val=1404 - si elle est faite dans un TextBox, alors c'est du texte et il suffit de contrôler la valeur dans notre conversion
Réponse à :
>.... >les valeurs maximales sont, elles, définie par ton >implémentation. Donc, le 'int' chez moi peut prendre 32 >octets et 4 chez vous. > > Bonne chance! > > Jonathan Mcdougal > Montréal, Québec > mcdougalljonathan@hotmail.com > http://www.multimania.com/utopiasoftware >
|
|
jeudi 13 février 2003 à 13:18:45 |
Re : Vérifier si mon nombre est trop grand

omi
|
Faudrai voir si il met pas le bits d'overflow a 1 dans les flags mais ca demende un peut de programmation assembleur ça et ca risque de ne pas marcher si il arrondi la valeur saisie a la limite d'un unsigned int (note : il doit bien existe une fonction c qui fait ca mais je ne la connais pas)
OmI
------------------------------- Réponse au message : -------------------------------
> Salut > > Dans mon programme, je dois vérifier si le nombre entré dépasse la capacité d'un unsigned int. > De quelle facon puis-je m'y prendre ? Est-ce que je regarde si ma valeur est en desous de 4294967295 ? > Parce que quand je rentre une grande valeur plus grande que 4294967295, il semble que la valeur soit tronquée automatiquement a 4294967295 !?!?! > Merci de votre aide
|
|
vendredi 14 février 2003 à 03:28:58 |
Re : Vérifier si mon nombre est trop grand

jonathanmcdougall
|
> >.... > >les valeurs maximales sont, elles, définie par ton >implémentation. Donc, le 'int' chez moi peut prendre 32 >octets et 4 chez vous. > > > je suis curieux de savoir sur quel système tu travaille
Athlon MP sous XP et Linux, pourquoi?
> en réponse à la question première, > - Si la saisie est faite via "cin", > essayez la petite astuce sur "cin" que j'ai récement posté > http://www.cppfrance.com/article.aspx?Val=1404
D'accord, j'avais dans la tête une opération arithmétique, pas un cin.
La solution est en effet de tester cin, car si celui-ci ne peut mettre la valeur dans la variable, il met son bit 'fail' à 1, ce qui rend tous les appels subséquents incorrects. Voir "l'astuce" en question.
Désolé,
-- Jonathan Mcdougal Montréal, Québec mcdougalljonathan@hotmail.com http://www.multimania.com/utopiasoftware
|
|
Cette discussion est classée dans : nombre, valeur, vérifier, trop, grand
Répondre à ce message
Sujets en rapport avec ce message
nombre trop grand ? [ par pandakill ]
Bonjour à tous,Voila j'ai récemment fait le programme suivant en C pour résoudre une solution, et malgré tous mes efforts je ne comprends pas pourquoi
(X == E T S) ??? [ par cricri_b34 ]
j'ai créer un petit programme qui permet de pratiquer ses math...donc mon programme doit vérifier si le nombre entré par l'utilisateur, ets égal la so
DLL grand nombre pour VB [ par jmtoulon ]
Bon jour @ tous.Bon voila je souhaitrais calculer avec VB des grands nombres genre 10^166 :)Mais vous savez que VB est limité. En fait je voudrais sav
Probleme avec un nombre a virgule [ par c2millet ]
BonjourVoila mon pb je récupère la valeur d'un champ ds une bdd c un nombre a virgule.G déclaré une variable de type FLOAT ds mon prog mais je ne récu
Grand nombre supérieur 1,8e308 avec précision d'un int [ par maminova7775 ]
Bonjour , tout est dans le titre , alors pouvez vous m'aider a faire un programme de ce genre qui puisse calculez des très grand nombre .... merci
Créer methode avec nombre inconnu de parametre? [ par Sat83 ]
Bonjour!je souhaiterais savoir comment faire pour declarer une fonction dont on ignore le nombre de parametre?un exemple:J'ai une fonction addInteger(
tres tres grand nombre [ par thesimsone ]
bonjour je voudrai que quelqu'un m'explique comment gérer de tres tres grand nombre pour faire un prog de cryptage rsa et comment on fait la concaténa
Recherche de la plus grand valeur dans une liste chainée [ par doudou0088 ]
Bonjour, J'ai une liste chainé contenant une valeur entière pour chaque élément (environ 96 éléments). J'aimerai affiché l'entier le plus grand de cet
Vérifier valeur registre [ par Sniperr ]
Bonsoir,J'aimerais savoir comment vérifier si (par exemple) la valeur "Version" existe dans "HKEY_LOCAL_MACHINE\SOFTWARE\AGORA Software BV\codevb".J'a
limiter une valeur d'argument [ par ElMatador06 ]
Bonjour a tous,Voila mon problème : j'ai un programme qui prend comme argument une base (nombre entre 2 et 16), un chiffre (1 ou 2), 1 pour addition e
Livres en rapport
|
Derniers Blogs
[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
WIN APIWIN API par omarino_007
Cliquez pour lire la suite par omarino_007
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|