Yes, as Stephen said, be careful about the difference between binary numbers and IEEE storage. You can easily see the IEEE representation of a double number in matlab with:
>> n = 1.9844
>> dec2bin(typecast(n, 'uint64'), 64);
ans =
'0011111111111111110000000001101000110110111000101110101100011100'
As for your question, the computer is never aware of the decimal representation of the number, and doesn't care about it. All math is done with the binary representation. Which is why people sometimes are surprised by the result they get (see why 0.3-0.2-0.1 is not 0) because the binary math differs from the decima math. It's only for display to the user/programmer that the numbers are converted to their textual decimal representation. This is done by well established code routine, if you want to know more search for the source code of fprintf (in C). Similarly, the textual decimal representation of numbers you enter is immediately converted to the binary representation.
Best Answer