MATLAB: Calculation with uint16 values

uint16

Hi,
I calculate with matrices of type uint16 recorded by cameras. But I've got a general problem with the calculation especially by fraction. Example:
A=[8 9 2; 9 6 5; 1 0 9]; % class double B= uint16(A); % class uint16
A/10=[0.8 0.9 0.2; 0.9.0.6 0.5; 0.1 0 0.9] B/10=[1 1 0; 1 1 0; 0 0 1 ]
Can anybody explain me the results ? The values seems to be rounded up. Thanks for support.

Best Answer

When you divide an integer, it will produce an integer and just ignore the decimal part. For instance 3/2 will produce 1. If you want the decimal value, please use:
double(A) / double(B)