Posté le 19/04/2008 à 12:41 Membre depuis le 25/12/2006, 499 messages
[nosmile]
Slt !

Je viens d'inventer une méthode pour récupérer le N-ième chiffre B d'un nombre A :

B = 10 fPart (.1 int (A .1^int (1-N + log (A

C'est la méthode la plus rapide que j'aie pu trouver. (28,78 ms ^^)

Ca peut permettre dans certains cas de créer un espace de stockage à 3 dimensions en utilisant cette méthode dans une matrice.

Voilà !
Posté le 19/04/2008 à 13:19 Membre depuis le 06/02/2006, 349 messages
hmm, j'la connaissais déjà smile
d'ailleurs j'avais trouvé une astuce pour extraire F chiffres d'un nombre X à partir d'un nombre A, un sub(X,A,F) en quelque sorte :

int(10^(F)*fPart(X/10^(int(2-A+log(X


Posté le 19/04/2008 à 13:37 Membre depuis le 25/12/2006, 499 messages
[nosmile]Oui j'avais imaginé qu'on pouvait facilement faire ça, bravo.

J'ai trouvé la formule pour stocker (remplacer) un chiffre dans un nombre. Je prends les mêmes notations que pour les listes, càd A(2) signifie le 2e chiffre de A, donné par la formule postée précédemment.

X->A(N) équivaut à :

A + (X-A(N)) 10^(int (1-N + log (A -> A
Posté le 19/04/2008 à 13:38 Membre depuis le 25/12/2006, 499 messages
D'ailleurs, on peut généraliser et ne pas stocker un chiffre mais une série de chiffres. Ainsi, on peut partitionner un nombre en plusieurs nombres.
Posté le 20/04/2008 à 21:46 Membre depuis le 09/02/2005, 13736 messages
Tres très pratique, j'utilise notamment ces méthodes pour compresser les données stockées dans les listes de Football Simulation et Third Life (ca permet entre autres de stocker la ville de 700 batiments dans un espace raisonnable dans ce dernier)
Posté le 20/04/2008 à 21:52 Membre depuis le 25/12/2006, 499 messages
A oui ? Cool de voir que ça a déjà été appliqué. A propos, j'en profite : j'ai trouvé Football Simulation génial ^^.
Posté le 20/04/2008 à 22:36 Membre depuis le 06/02/2006, 349 messages
pareil smile
Posté le 21/04/2008 à 02:55 Membre depuis le 09/07/2003, 21783 messages
Heu si on veut stocker (donc a priori on connait 'bien' le format puisqu'on la construit nous-mêmes) ça devrait être plus rapide de stocker dans des puissance de 10 (ie, en gros, au lieu d'énumérer les digits en gauche->droite, aller dans l'autre sens), s'il n'y a pas une abération dont TI a parfois le secret. (ça évite de calculer le log). Bon si on connait pas assez bien le nombre (sa taille), ça revient au même.

Sinon, c'est plus limité en taille, mais c'est plus simple de stocker derrière la virgule (justement pasque on part du point fixe..)

Ha les hacks hallucinants du basic !
Posté le 21/04/2008 à 11:18 Membre depuis le 11/04/2007, 1076 messages
Sauf que pour la vitesse... arg^^
Posté le 04/08/2008 à 16:09 Membre depuis le 25/12/2006, 499 messages
J'ai pour la première fois expérimenté ce système dans un jeu, et je pense qu'on peux rajouter des infos sur le stockage d'informations dans des nombres.

En plus des 10 chiffres du nombre, on peut rajouter une virgule, qui selon sa position donne un nombre compris entre 0 et 9 (un chiffre enfait). On peut utiliser la formule :

int (log (A

Mais il faut alors se méfier des 0, qui peuvent poser problème lorsqu'ils se trouvent au début de la partie entière, ou à la fin de la partie décimale.

On peut également ajouter un - , ce qui inclut dans le nombre une variable binaire.

Un élément contenant un nombre complexe dans une liste prend la même place que 2 éléments, donc c'est plutôt inutile.
Posté le 18/08/2008 à 11:18 Membre depuis le 26/06/2008, 73 messages
um... c'est intéressant tout ça... bien joué les gars happy
Posté le 18/08/2008 à 12:18 Membre depuis le 25/12/2006, 499 messages
Oui, et d'ailleurs, j'ai trouvé mieux ^^.

On peut stocker 12 chiffres (0 à 9), avec la forme 0.123456789 E12
Posté le 18/08/2008 à 13:02 Membre depuis le 01/12/2005, 413 messages
Pas bete d'utiliser la puissance pour y stocker des nombres. C'est la premiere fois que je vois ca.
Posté le 26/09/2008 à 19:43 Membre depuis le 24/08/2007, 729 messages
houlà, y a eu du chauffage de cerveau là ! wink
nan, sérieux, j'avais déjà expérimenté un peut ce système pour stoker des coordonnées (genre X,Y) ; mais je n'était pas allé plus loin, si ce n'est de combiner ce système avec du complexe (ce qui fait des nbre genre a,b + c,di ; soit 4 nbres dans une seule variable !)
Par contre, vos sytèmes sont simpa, mais si in veut stocker des nombres plus grand que 9 ? ou négatif :s
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
Posté le 26/09/2008 à 20:08 Membre depuis le 25/12/2006, 499 messages
Un élément complexe prend la place de 2 éléments réels.
On peut bien entendu stocker des nombres plus grands que 9, voir le post 2. Négatif ? Débrouille-toi ^^. Pour coder des infos autres que des chiffres, il faut assigner aux chiffres des valeurs spécifiques, et ça tu fais comme tu veux.

D'ailleurs j'en profite : suite à une remarque de tama, j'ai découvert qu'on peut stocker jusqu'à 16 chiffres dans un nombre.

Exemple : 1.2345678901234 E 12

Les 10 premiers chiffres sont affichés à l'écran, les 4 suivants ne le sont pas mais sont quand même gardés en mémoire, et reste les 2 de la puissance ; d'où 16 chiffres.
Posté le 26/09/2008 à 23:01 Membre depuis le 09/07/2003, 21783 messages
+ un nombre binaire qui correspond au signe, et là t'utilises bine toute la place prévu par le format de la calc
Posté le 27/09/2008 à 18:51 Membre depuis le 24/08/2007, 729 messages
et encore un autre par rapport à la position de la virgule, si j'ai bien suivi jusqu'à présent.
Mais à moins que je ne me trompe, les nombres trop grand sont arrondis quand on éteint la calto et la rallume, il me semble.
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
Posté le 27/09/2008 à 18:55 Membre depuis le 25/12/2006, 499 messages
Loclamor (./17) :
et encore un autre par rapport à la position de la virgule, si j'ai bien suivi jusqu'à présent.


Gné ? Non.
Posté le 27/09/2008 à 19:00 Membre depuis le 24/08/2007, 729 messages
bon, ben ça fait une idée de plus, non ?
suivant la position de la virgule ça peut faire un chiffre de plus...
Baruch (./15) :
Un élément complexe prend la place de 2 éléments réels.


oui, mais ça c'est si on considère l'espace mémoire utilisé. Mais si on en fait abstraction, on peut considérer que on peut stoquer encore plus de valeurs dans une seule variable.
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
Posté le 27/09/2008 à 19:04 Membre depuis le 25/12/2006, 499 messages
Ah ok dsl. Ca sert pas à grand chose, puisque dès qu'on utilise les puissances de 10, la virgule ne bouge plus.

Oui mais à part minimiser l'espace de stockage, je vois pas à quoi ça peut servir.