A voir également:
- Entier à +de 15 chiffres
- Iphone 15 - Guide
- Panne orange 15 mars 2023 - Guide
- Tous les code possible de 0 à 9 (4 chiffres ) - Forum Jeux vidéo
- Combinaison de 3 chiffres de 0 à 9 ✓ - Forum Programmation
- 7/15 sur 20 - Forum Loisirs / Divertissements
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é)