Calculs avec la racine mixte
MixedRadix permet de travailler avec des systèmes numériques dans lesquels différents chiffres d'un nombre correspondent à des bases différentes.
Ce sont les noms de plusieurs unités de soldats dans l'armée romaine.
In[1]:=

units = {"legion", "cohort", "century", "contubernia", "soldier"};
Une légion était composée de 10 cohortes, une cohorte de 6 siècles, un siècle de 10 contuberniums et un contubernium de 8 soldats.
In[2]:=

bases = MixedRadix[{10, 6, 10, 8}];
Nombre de soldats dans un contubernium, en utilisant ce système de numérotation.
In[3]:=

FromDigits[{1, 0}, bases]
Out[3]=

Nombre de soldats dans un siècle.
In[4]:=

FromDigits[{1, 0, 0}, bases]
Out[4]=

Nombre de soldats dans une cohorte.
In[5]:=

FromDigits[{1, 0, 0, 0}, bases]
Out[5]=

Nombre de soldats dans une légion.
In[6]:=

FromDigits[{1, 0, 0, 0, 0}, bases]
Out[6]=

Et inversement, décomposez le nombre de soldats dans ces unités tactiques.
In[7]:=

IntegerDigits[16894, bases]
Out[7]=

In[8]:=

IntegerDigits[16894, bases];
Thread[units -> %]
Out[8]=
