I think he misunderstood your approach,
If its a static averaging, e.g. you want to measure 1000 samples, and then average them:
Using a 32 bit variable, you add all your samples up, then divide by the number of samples to get your result,
a cleaner approach to this is likely to sum each value in to a total value as your sampling them so you dont need to allocate room for 1000 samples,
e.g. Total = Total + Sample
If its a moving average, then there are a few ways you can implement it, as shown on that wikipedia entry linked above, and it will come down to how you want it to behave, e.g. do you want the result of the division rounded to the nearest digit, or just the integer your on, do you want newer values to have more precedence over older values, do you have room to store 1000 12 bit numbers if you want to do a ring buffer style approach so you know it is always the exact average with no small error introduced by rounding or lack of precision.
equally some of the approached are "computationally expensive" but it comes down to your requirements,