I guess I'm confused how you get "9.946030616760253" from 100 samples of 16 bit numbers (i.e. uint from 0 to 65536)
I think you should capture the RAW accelerometer and do the calculations by hand (or excel etc). This will allow you to see what is going on.
TheMemberFormerlyKnownAsAWOL:
You're deluded, or you don't understand 32 bit IEEE-754.
I think what the poster was trying to say is the precision your input variables does not support that many decimal places.
For instance: I have a sensor that has an accuracy of +/- 1%
I capture 3 readings 3,4,3
Average = 3.33333333333333333333333333333333333333333
But no digit after 2 places (at best) is meaningful because the error of a sensor could be +/- 0.03
I will admit I did not delve into the details of the MPU9350.