请赐二进制小数和十进制小数互相转换的算法

2024-11-22 07:51:45
推荐回答(1个)
回答1:

理解计数法

十进制 12345 = 1x10^4 + 2x10^3 + 3x10^2 + 4x10^1 + 5x10^0

10000,1000,100,10,1是权位(逢权进位)

同理
二进制 10010 = 1x2^4 + 0x2^3 + 0x2^2 + 1x2^1 + 0x2^0 = 1x16 + 0x8 + 0x4 + 1x2 + 0x1

16,8,4,2,1是权位

小数点以后是负指数~
二进制0.111=2^(-1), 2^(-2),2^(-3)
例如 110.011=1*2^2 + 1*2^1 + 0*2^0 + 0*2^-1 + 1*2^-2 + 1*2^-3
这就是二进制转换10进制 小数一样转换

综上,我理解就是分开算,整数部分你应该会自己算,什么除以2取余数啦,
小数部分的话 你可以先把小数转换成整数比如把小数点向右以为使小数变为整数,然后最后扩大了多少再除以多少吧o(∩_∩)o...哈哈