Cálculos com raiz mista
MixedRadix permite trabalhar com sistemas numéricos nos quais diferentes dígitos de um número correspondem a diferentes bases.
Estes são os nomes de várias unidades de soldados no exército romano.
In[1]:=

units = {"legion", "cohort", "century", "contubernia", "soldier"};
Uma legião era composta por 10 tropas, uma tropa de 6 centúrias, uma centúria de 10 contubérnios, e um contubérnio de 8 soldados.
In[2]:=

bases = MixedRadix[{10, 6, 10, 8}];
Número de soldados em um contubérnio, usando este sistema numérico.
In[3]:=

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

Número de soldados em uma centúria.
In[4]:=

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

Número de soldados em uma tropa.
In[5]:=

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

Número de soldados em uma legião.
In[6]:=

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

Inverta, decomponha o número de soldados nessas unidades táticas.
In[7]:=

IntegerDigits[16894, bases]
Out[7]=

In[8]:=

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