Weil der Compiler für die Berechnung von Zwischenergebnissen halt größere Felder anlegt und immer das mögliche Maximum berücksichtigt.
Wenn dein Ergebnis eine max. Größe nicht überschreitet, kannst du das wieder entsprechend verpacken:

%dec(Ergebnis:8:0)