1
[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à !
2
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


3
[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
4
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.
5
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)
6
A oui ? Cool de voir que ça a déjà été appliqué. A propos, j'en profite : j'ai trouvé Football Simulation génial ^^.
7
pareil smile
8
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 !
9
Sauf que pour la vitesse... arg^^
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.
um... c'est intéressant tout ça... bien joué les gars happy
Oui, et d'ailleurs, j'ai trouvé mieux ^^.

On peut stocker 12 chiffres (0 à 9), avec la forme 0.123456789 E12
Pas bete d'utiliser la puissance pour y stocker des nombres. C'est la premiere fois que je vois ca.
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
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.
+ un nombre binaire qui correspond au signe, et là t'utilises bine toute la place prévu par le format de la calc
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
Loclamor (./17) :
et encore un autre par rapport à la position de la virgule, si j'ai bien suivi jusqu'à présent.


Gné ? Non.
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
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.