Ah, Pour des forme fractionnaires, le problème est pas exactement le même ( même si on peut faire les deux a la fois ce qui élargie le domaine de la librairie a Q ( les rationels) et non pas seulement à Z.10^x ( les nombres décimaux))
J´avais écrit un algorithme pour ca ( pas un prog, juste l´algorithme) mais le problème c´est que c´est beaucoup plus lent. ( il y a une méthode qui consiste à ne stocker les nombre que sous forme de produit de nombre premier. Pour ca il faut des algorithme de factorisation extremement performant ( encore un autre problème) et ca ne marche que pour les multiplications).
Mais sans toutes ces complications, MathieuN7, veux tu te lancer ? comme ca, pour ton prog, tu n´auras pas beson d´utiliser des code tiers et tu pourra dire que c´est vraiment TON code.
Ben pkoi pas! Je sais pas si je suis assez compétent pour écrire ma propre lib... Je ne maitrise que le mode console, et encore, maitriser est un bien grand mot!
Si tu utilise VC++ tu ne devrai pas avoir de problème car il crée pour toi tout les fichiers d´interface de la DLL.
Et en fait, il n´y a pas besoin d´un gros niveau pour faire un prog comme ca, car ca ne fait appel qu´a de la manipulation de tableau et de fonction arithmétique mais pas a des foncionnalité avancé du langage. ( c´est pour ca qu´en introduction je disais que du C pouvait suffire).
la est l´interet du C++ et des langages objets, pour utiliser le nouveau type tres implement :
je prototype la classe, apres pour s´en servir, ça baigne
class infint
{
private:
char* tabchiffres;
int nbchiffres;
public:
infint(char* nombre);
infint(const infint&);
~infint();
friend infint& operator=(const infint&);
friend infint& operator+(const infint&,const infint&);
friend infint& operator-(const infint&,const infint&);
friend infint& operator*(const infint&,const infint&);
friend infint& operator/(const infint&,const infint&);
ostream& operateur<<(ostream&);
};
Alors c´est ca la surchage d´opérateur ?
En fait, j´en ai toujours entendu parler, mais concrétement, je m´en suis jamais servi.
Si je crée deux objets infint et que je fais :
infint1 + infint2
il appelle automatiquemant la fonction voulue. C´est ca ? mais a quoi sert celle avec = ?
Bon, je m´y mets dès ce soir! ![]()
dnob -> celle avec = sert à ne pas utiliser le constructeur de copie par défaut, qui ne copierait rapidement que les pointeurs, ce qui conserverait les adresses et ne copierait pas vraiment les variables etc etc ( enfin je crois...
)
En tout cas moi ça me servirait pour calculer pi avec plus de 5 décimales ! ![]()
Quelqu´un pourrait m´expliquer le principe, si ça le gêne pas ?
le principe c´est de pallier au défaut inhérent au type de donnée du C++ en permettant
au langage d´utiliser des nombres bcp plus grand ( limité uniquement par la mémoire de l´ordinateur en fait) qui sont donc stocké dans des tableau.
le tout étant d´optimisé à mort les calcul.
depuis ce topic, j´ai pas mal avancé surtout dans la théorie du truc, mais bon, ce qu´il y a plus haut doit être resté vrai.
C´est possible de stocker chaque décimale dans un tableau ?
dans une case du table oui, pas dans un tableau ( enfin, on pourrait, mais ya pas grand intéret).
Oui c´est ce que je voulais dire ![]()
Si on veut stocker par exemple Pi 3.14159...... et qu´on met chacune des décimales dans une case du tableau, on peut avoir un nombre important de décimales non ?
la limite est alors de 2 milliard de décimal...
mais on peut améliorer en ne stockent non pas un chiffre par case du tableau mais 3 ou 4 ce qui améliore sensiblement les performances ( on utilise alors des long pour lequel le processeur est de toute façon déjà optimisé).
Nan ça j´ai compris lol, plutôt l´ algorithme... je suis nul pour les algorithmes.
disons qu´il n´y en a pas unseul, mais à la base il faut apprendre l´arithmétique à l´ordi.
par exemple si tu a des tableau dont chaque case ne contient qu´un seul chiffre et que le tout forme des nombres entier positifs alors tu lui fait faire les opération comme tu les apprend en primaire à savoir en posant les additions, multiplication etc. avec des retenues et tout ça.
bien sûr, ce n´est pas très optimisé, mais c´est déjà un bon début.
euh calmez vous un peu, kufa est plus qu´un simple programmeur d´applications commerciales, faire de l´informatique de gestion est une chose, le gamedev en est une autre ! Avec chacun ses méthodes de travail et l´un comme l´autre ses difficultées, mais personnellement ayant touché un peu au deux ( dans un sens non-pro) je considère le gamedev bien plus compliqué que de creer une application qui servira a de la gestion, comme une base de donnée, un tableur ou que sais-je encore ( bientot sûrement)
Comparons ce qui est comparable, ce n´est pas en terme d´année qu´il est possible de déterminer le niveau d´un individu, il se peut très bien qu´un individu programmant depuis 35 ans ai un certain niveau pro et qu´une personne de 5 ans de prog ai un niveau supérieur ( et inversement aussi bien sur), quand a ce calcul afin d´etre capable de calculer des opérations entre très grands nombres, ça me rappelle mon simulateur de fosse a purin sous DOS
il n´y avait aucun avantage a le faire, sauf savoir le faire, question de curiosité, mais ça ne veux pas pour autant dire que c´est quelque chose d´indispensable ou d´honorifique et ça ne veux pas dire que c´est inintéressant, mais bon, cahcun ses priorités, cahcun son propre emploi de la programmation et chacun son plaisir de programmer, ce n´est absolument pas universel, alors ne brandissez pas d´étendard du style " le savoir universel" ou " le plaisir de connaitre que pi*rho = sigma²"...
moi je trouve rigolo de faire des helloworlds en Qbasic, morpheus trouve rigolo de faire de la gestion de flux
chacun son truc, on va pas se taper dessus parcequ´untel pense que c´est a chier et parceque l´autre pense que c´est fondamental
Un peu de bon sens que diable
( nonnon ce n´est pas du trolling c´est très sincère
)
pdX-
Ben voilà pdX a tout dit! ![]()
non j´ai pas tout dit ya plein de choses a dire, mais voilà vous croyez pas qu´on se tape assez sur la gueule autre part ? Si ce post a un interet scientifique, alors restons-en la, pour que ça ne parte pas en guerre froide version clan du form jv..
Oui non mais jvoulais dire que t´as bien parlé quoi ![]()