Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1507 connectés 

  FORUM HardWare.fr
  Programmation

  probleme de limitation de variables en C++

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme de limitation de variables en C++

n°13914
FMulder
Posté le 12-02-2001 à 18:32:57  profilanswer
 

Salut, tout le monde !!!
 
bon, voila, je vais vous expliquer mon probleme :
j'ai fais un tout petit programe en c++ mais il me pose probleme.
en effet, c un programme qui teste si le nmobre doné est premier (rien de plus classique). Seulement je voudrais pouvoir tester des nombres bien plus grand que 4294967295 ce que les variables long unsigned int ne me permettent pas...
comment faire ?
 
j'avais pensé a un tableau qui se remplirait en fonction du nombre de chiffres du nombre donné mais je ne sais pas comment appliquer.
 
Quelqu'un aurait une solution svp pour me permettre de travailler sur de tres grands nombres ?
 
Merci @+
 
----------------------------
Plus tu pedales moins vite
Moins tu avances plus vite

 

--Message édité par FMulder--

mood
Publicité
Posté le 12-02-2001 à 18:32:57  profilanswer
 

n°13918
verdoux
And I'm still waiting
Posté le 12-02-2001 à 18:58:25  profilanswer
 

C'est pas spécifique au c++ et en fait c'est à toi de définir un système pour gérer les grands nombres.
Par exemple (mais c'est pas forcément le plus efficace) tu décomposes ton nombre en base 10^9 et tu le stockes dans un tableau/liste.
Evidemment il faut alors définir pour ce format toutes les opérations arithmétiques nécessaires.

n°13930
FMulder
Posté le 12-02-2001 à 19:20:44  profilanswer
 

ok, ya qqun qui serait pret a m'exliquer comment faire ca ou qui aurait un article montrant comment faire parce que je debute quand meme alors j'ai un peu du mal...
je comprends le concept mais c la mise en oeuvre qui me gene...
 
Merci
 
----------------------------
Plus tu pedales moins vite
Moins tu avances plus vite
----------------------------
http://www.digitalworld.fr.fm
----------------------------

n°13933
verdoux
And I'm still waiting
Posté le 12-02-2001 à 19:30:53  profilanswer
 

Y avait des étudiants de l'Epita qui avaient posté sur ce sujet il y a quelques semaines parce que c'était un de leur exo à faire.
Ils doivent avoir codé quelques trucs.
T'as plus qu'à espérer qu'ils voient ton post :D

n°13938
XuTi
Posté le 12-02-2001 à 19:54:47  profilanswer
 

Il suffit juste que tu crees une classe
 
tu aurais:
classe grosse_variable
{
int poids_fort;
int poids_faible;
/* constructeurs-destructeurs */
}
 
et apres tu crees les fonctions membres pour manipuler la classe.
Par ex tu surcharges les operateurs +,-,+,/,&,|,^ pour faire les calculs avec les int, char (par ex). Mais le gros du travail est de l'analyse sur la manipulation du poids faible et poids fort(je l ai fait pour des nombres sur 64bits...mais faut que je retrouve ca...) des que je retrouve ca je mets sur #forum

n°13968
BifaceMcLe​OD
The HighGlandeur
Posté le 12-02-2001 à 23:23:00  profilanswer
 

Recherche "bistromatique" sur le forum programmation, et tu trouveras ce qu'il te faut...

n°13985
VisualC++
J'va y penser ...
Posté le 13-02-2001 à 03:03:44  profilanswer
 

Sous l'API Windows et en VC++ tu peut utiliser les LARGE_INTEGER ce qui revient a faire la decomposition en poid fort/aible sur 32bits chacun.


---------------
VT ... Vaucluse / Vrille(euse :sarcastic: ) c'est pareil tant qu'il y a l'humour :D
n°13987
VisualC++
J'va y penser ...
Posté le 13-02-2001 à 03:11:07  profilanswer
 

Oups j'oubliais, et tu a acces a l'ensemble (via Quadpart si je me souvient bien) a la varaible complete et donc pas besoin de refaire tes propres operations pour s'en servir.


---------------
VT ... Vaucluse / Vrille(euse :sarcastic: ) c'est pareil tant qu'il y a l'humour :D
n°14061
BENB
100% Lux.
Posté le 13-02-2001 à 13:31:05  profilanswer
 

VisualC++ a écrit a écrit :

Sous l'API Windows et en VC++ tu peut utiliser les LARGE_INTEGER ce qui revient a faire la decomposition en poid fort/aible sur 32bits chacun.




Quel est l'interet des LARGE_INTEGER puisque les int et les long font deja 32 bits et en plus sont portables (VC++)!

n°14062
BENB
100% Lux.
Posté le 13-02-2001 à 13:32:01  profilanswer
 

certain compilo gerent des long long de 64 bits
c'est le cas de VC++ me semble t il .

mood
Publicité
Posté le 13-02-2001 à 13:32:01  profilanswer
 

n°14073
VisualC++
J'va y penser ...
Posté le 13-02-2001 à 13:58:28  profilanswer
 

LARGE INTEGER ils sont sur 64 bits (2 * 32), j'ai pas du parler cliarement (dsl il etait tard ;))


---------------
VT ... Vaucluse / Vrille(euse :sarcastic: ) c'est pareil tant qu'il y a l'humour :D
n°14084
verdoux
And I'm still waiting
Posté le 13-02-2001 à 14:23:28  profilanswer
 

Je ne vois pas pourquoi vous parlez de 64 bits. A priori il doit souhaiter dépasser 2^64.

n°14087
VisualC++
J'va y penser ...
Posté le 13-02-2001 à 14:25:20  profilanswer
 

Euh le chiffre qu'il a donne c'est 32 bits donc saufd precision supplementaire on suppose qu'il veut 64bits en precision, non ?


---------------
VT ... Vaucluse / Vrille(euse :sarcastic: ) c'est pareil tant qu'il y a l'humour :D
n°14149
n0mad
inscrit au XXe siècle
Posté le 13-02-2001 à 17:05:59  profilanswer
 

Salut,
 
si tu veux faire un programme valable, il vaut meixu que tu récupère sur le net une bibliothque mathematique avec des types etendus. C'est un vieux problème et ça fait longtemps qu'il a été résolu donc pas la peine de réinventer la roue.


---------------
Pipiru piru piru pipiru pi
n°14201
BifaceMcLe​OD
The HighGlandeur
Posté le 13-02-2001 à 23:26:09  profilanswer
 

n0mad a écrit a écrit :

Salut,
si tu veux faire un programme valable, il vaut meixu que tu récupère sur le net une bibliothque mathematique avec des types etendus. C'est un vieux problème et ça fait longtemps qu'il a été résolu donc pas la peine de réinventer la roue.




Sauf que les algorithmes qu'on trouve sur le Net ne sont pas forcément d'une super-efficacité. J'ai testé pour vous, précisément sur ce sujet-là...  :sarcastic:

n°16446
FMulder
Posté le 01-03-2001 à 00:39:55  profilanswer
 

Merci tou t le monde, desolé de pas avoir repondu rapidement, vacances oblige... ;-)
C'est vrai, en fait le but du schmilblick ca serait de permettre a l'utilissateur de rentrer un nombre sans limite de taille...
il faudrait donc quand il l'a rentré que je teste le nombre de chiffres et que je le decoupe en morceau de 32 bits puis que je fasses les tests apres.
Je vais voir ce que je peux faire...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  probleme de limitation de variables en C++

 

Sujets relatifs
Problème VB6 at ADOProblème con mais important pour moi..[JAVA]
[PHP] problème include ...problème de saisie de chaines de caractères en JAVA
probleme sur liste chainéePetit probleme de cookies en ASP...
[PhotoS] Petit problème de Layer ..[C++] Problème avec les classes
Problème sur une fonction C++ de base...[PHP] Problème avec la création d'images !
Plus de sujets relatifs à : probleme de limitation de variables en C++


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR