Entier à +de 15 chiffres
vorx
-
SKZ -
SKZ -
Bonjour à tous
je suis amateur en VB6
Dans un prog testant des entiers pour la conjecture de Syracuse(Rappel:prendre un entier s'il est pair le diviser par 2,s'il est impair le multiplier par 3 et ajouter 1:on finit tjrs par tomber sur le cycle 4-2-1[conjecture non démontrée]),
j'entre dans une zone de texte un entier quelconque;puis
dans une liste j'obtient tous les entiers qui découlent de la conjecture.
Cependant quand le nbre entier initial dépasse 15 chiffres j'obtient des entiers arrondis .
Question:Y-a-t'il moyen de formater ou d'obtenir un entier à + de 15 chiffres sans que celui ci soit arrondi
Merci d'avance pour votre aide.
je suis amateur en VB6
Dans un prog testant des entiers pour la conjecture de Syracuse(Rappel:prendre un entier s'il est pair le diviser par 2,s'il est impair le multiplier par 3 et ajouter 1:on finit tjrs par tomber sur le cycle 4-2-1[conjecture non démontrée]),
j'entre dans une zone de texte un entier quelconque;puis
dans une liste j'obtient tous les entiers qui découlent de la conjecture.
Cependant quand le nbre entier initial dépasse 15 chiffres j'obtient des entiers arrondis .
Question:Y-a-t'il moyen de formater ou d'obtenir un entier à + de 15 chiffres sans que celui ci soit arrondi
Merci d'avance pour votre aide.
A voir également:
- Entier à +de 15 chiffres
- Macos 15 - Accueil - MacOS
- Tous les code possible de 0 à 9 (6 chiffres ) - Forum loisirs/vie pratique
- Combien de possibilités pour un code à 3 chiffres - Forum loisirs/vie pratique
- Ouvrez cette page. dans le code de la page, modifiez la couleur de fond de la classe .pix. un code de 4 chiffres doit apparaître dans la grille. lequel ? ✓ - Forum Programmation
- Comment activer les chiffres du clavier - Guide
1 réponse
Des entiers arrondis ??
Faudra m'expliquer... Des entier tronqués, entier modulo 4G, mais des entier arrondis : autant que mes yeux pour le coup, bref...
Ca marche pas.
Le problème est que tu atteint la limite max de la taille d'un registre du microprocesseur : 32 bits. Comme pour l'écran d'une calculatrice, quand c'est rempli, plus moyen d'écrire.
Suivant le type de variable utilisé (signées ou non-signées), le résultat du "débordement" est différent : soit on revient à zéro, sois on rivient à -2 millions et quelques...
Certain language propose un format sur 64 bits (long int en C par exemple, en VB sait pas) mais y'aura encore une limite.
Alors la solution est de programmer un type entier qui utilise un tableau d'entier. Pour retrouver le nombre, il faut additionner le premier entier au deuxième multiplié par 4G, puis additionner le troisième par 4G au carré, puis le 4 multiplié par 4G au cube, etc...
Normalement t'as plus trop de soucis, mais théorique il reste une limite : la taille de la mémoire...
(NB : 1G=2 puissance 30=1024*1024*1024 soit un peu + d'un milliard.
4G = 2^32, le premier entier qui dépasse 32 bits en non signé)
Faudra m'expliquer... Des entier tronqués, entier modulo 4G, mais des entier arrondis : autant que mes yeux pour le coup, bref...
Ca marche pas.
Le problème est que tu atteint la limite max de la taille d'un registre du microprocesseur : 32 bits. Comme pour l'écran d'une calculatrice, quand c'est rempli, plus moyen d'écrire.
Suivant le type de variable utilisé (signées ou non-signées), le résultat du "débordement" est différent : soit on revient à zéro, sois on rivient à -2 millions et quelques...
Certain language propose un format sur 64 bits (long int en C par exemple, en VB sait pas) mais y'aura encore une limite.
Alors la solution est de programmer un type entier qui utilise un tableau d'entier. Pour retrouver le nombre, il faut additionner le premier entier au deuxième multiplié par 4G, puis additionner le troisième par 4G au carré, puis le 4 multiplié par 4G au cube, etc...
Normalement t'as plus trop de soucis, mais théorique il reste une limite : la taille de la mémoire...
(NB : 1G=2 puissance 30=1024*1024*1024 soit un peu + d'un milliard.
4G = 2^32, le premier entier qui dépasse 32 bits en non signé)