十进制小数与二进制互转(每个程序员都应该了解的浮点运算法则)
一、二进制转十进制(按权相加法)
具体做法是,先将二进制数写成加权系数展开式,然后按照十进制加法规则求和。
比如 1010.01
1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 + 0*2^-1 + 1*2^-2
= 8 + 0 + 2 + 0+ 0 + 1/4
= 10.25
再比如 1010.001000010
1*2^3 + 1*2^1 + 1*2^-3 + 1*2^-8
= 8 + 2 + 1/8 + 1/256
= 10 + 33/256
= 10.12890625