Le bloc qui suit concerne une question qui n'a plus lieu d'être (et qui a trouvé sa réponse).
Allez directement au poste 4, où j'expose mon problème pour déterminer la représentation d'un nombre décimal sous forme de lettres, à la sauce Excel (la numérotation des colonnes).
----------------------------------------------
Bonjour,
C'est plus un problème d'algo qu'autrechose... voir même de mathématique.
Si je désire représenter le nombre "50" (base décimale) en base 8 (octale), je sais le faire de la façon suivante :
50 % 8 = 2 ; 50 / 8 = 6
6 % 8 = 6 ; 6 / 8 = 0
=> 62
Je sais en même temps qu'il me faut 2 chiffres.
Pour déterminer le nombre de chiffres, d'un point de vue algo, je vois donc comment faire :
Sauf que je trouve que c'est loin d'être performant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int val = 50; int base = 8; int nbDigits = 0; while (val > 0) { nbDigits++; val /= base; }
En effet, il me semble qu'il existe une fonction mathématique qui permet de dire combien de fois on peut diviser un nombre par un autre, mais pas moyen de mettre la main dessus
J'ai cru un moment que c'était la fonction puissance avec -base ou 1/base, mais ce n'est visiblement pas ça.
Partager