Aumentare la risoluzione analogica di Arduino, un parere

astrobeed ho una piccola domanda.
Attualmente io tengo in memoria la SOMMA(in float) delle ultime 500 letture(circa mezzo secondo di letture), quando leggo un dato dall'ADC calcolo la media (somma/500), poi tolgo da somma la media (somma-media) e aggiungo il valore letto (somma+=valore)

se a questo punto facessi somma/(500-4) otterrei la media a 12 bit... o perderi troppa precisione data dalla sottrazione della media? e quindi devo tenere un'array con le ultime 16 letture a parte?