Hi, :
I'm sorry, if ask the wrong question, actually I don't know which domain it is, just know it's about math, logic, programming, which Matlab plays a very important part in the world.
My question is , in computer domain, there are floating point, eg: single/double precision floating point, which store variables in [sign, exponent, significand] format sized in [1, 11, 52] bits (for 64 bit precision double type) , refer to https://en.wikipedia.org/wiki/Double-precision_floating-point_format
How do those floating number stored in computer (normally, binary format) to represent in decimal (with fractional number , between 0 ~ 1), especially, those numbers been right of the '.' (radix).
For example, a floating number in binary, 1.111111 is in decimal = 1.9844, how do the computer represent the .9844 to us ? From many docs, they all say, it's ' 2^-1 + 2^-2 +…+ 2^-6', but that's not what I want to ask, it's most likely I am curious about how do the computer translate 0.5 + 0.25 + …. + 0.0156, in computer, they are binary, only 010101…, so when they do arithmetic, they are based on 0,1,0,1…, so that definitely won't really recognize the decimal, '0.5', '0.25', …,etc, but when we do those simple directives in Matlab, bin2dec(), f_b2d, it quickly gives the answers, I am interested in 'who' do those binary to 'decimal-string-output' task, in which level ? compiler ? What's the domain talking about those domain ?
Thank you very much.
Best regards.
Best Answer