Float depth image

Is there a way to preserve depth image accuracy, if my original data is C++ float (32-bit)? Are depth values always stored as uint16?