一.十进制转二进制的算法
1.十进制转二进制的整数算法
用2辗转相除至结果为1 将余数和最后的1从下向上倒序写就是结果
例如:302转化成二进制
302/2 = 151 余0
151/2 = 75 余1
75/2 = 37 余1
37/2 = 18 余1
18/2 = 9 余0
9/2 = 4 余1
4/2 = 2 余0
2/2 = 1 余0
故二进制为100101110
2.二进制转十进制的小数算法
对十进制小数乘2得到的整数部分和小数部分,整数部分既是相应的二进制数码,
再用2乘小数部分(之前乘后得到新的小数部分),又得到整数和小数部分. 如此不
断重复,直到小数部分为0或达到精度要求为止.第一次所得到为最高位,最后一次
得到为最低位
如:
0.25的二进制
0.25*2=0.5 取整是0
0.5*2=1.0 取整是1
即0.25的二进制为 0.01 ( 第一次所得到为最高位,最后一次得到为最低位)
二.二进制转十进制的算法:
1.二进制转十进制的整数算法
最后一位开始算,依次列为第0、1、2...位第n位的数(0或1)乘以2的n次方得到的结果相加就是答案
例如:01101011.转十进制:
从第0位开始,依次向前计算:
1乘2的0次方=1
1乘2的1次方=2
0乘2的2次方=0
1乘2的3次方=8
0乘2的4次方=0
1乘2的5次方=32
1乘2的6次方=64
0乘2的7次方=0
然后:1+2+0+8+0+32+64+0=107.
二进制01101011=十进制107.
2.十进制转二进制的小数算法
小数点后第一位开始算,依次列为第1、2、3...位第n位的数(0或1)乘以2的-n次方得到的结果相加就是答案
例如:0.101
1*2(-1)+0*2(-2)+1*2(-3)=0.625
所以:(0.101)(二)=(0.625)(十)
本文详细介绍了十进制与二进制之间的转换方法,包括整数部分和小数部分的转换。十进制转二进制采用辗转相除法,二进制转十进制则通过按权相加实现。对于小数部分,可以通过连续乘2取整的方式进行转换。
1042

被折叠的 条评论
为什么被折叠?



