Auflösung/Genauigkeit/Umrechnung

Hallo,

das Thema Auflösung/Genauigkeit/Umrechnung ist für mich noch nicht klar, kann bitte jemanden anhand einen Beispiel das klären?

ich habe eine Funktion, die die Verbrauchsmenge berechnet, einpaar Umrechnung sind hier gemacht, die ich nicht verstanden habe und warum sind so gemacht, z.B:

unsigned char CylinderAnzahl;
unsigned int LocalMengeSetp;
unsigned int LocalGeschwindigkeit;
unsigned long LocalVerbrauch;

// Menge in 10*mm3
LocalMengeSetp = (10l * EffectiveVerbrauch * MaxMenge) / MaxInteger ; //MaxMenge=500 und MaxInteger=0xFFFF

// Geschwindigkeit in 10*rpm
LocalGeschwindigkeit = (10l * Geschwindigkeit * MaxGesch ) / MaxInteger ;//MaxGesch =4000

// Verbrauch in 100*mg/min
LocalVerbrauch = ((unsigned long)LocalMengeSetp ) * ( CylinderAnzahl / 2l ) * LocalGeschwindigkeit ;

kann mir bitte jemanden erklären, warum ist es so umgerechnet?

Dank & Gruss.