1.除二取余
除二取余适用于十进制与二进制整数之间的转换,例如,十进制9要转换为二进制:
首先我们确定9转换为二进制的有效二进制位,利用公式:log2n 上取整,不难算出,答案为4,所以对应二进制的有效位为4位,那么就可以进行运算了,9/2 = 4 余 1 ,算出的余数,对应二进制的最后一位,所以此时可以确定,对应的二进制为 xxx1 ,然后再对商的部分进行同样的运算, 4/2 = 2 余 0 ,此时的余数对应的是倒数第二位的二进制数为0 ,所以对应的二进制为xx01,剩余没有确定的两位做相同的运算,直到商为0结束即可,最后得到 9对应的二进制为1001,可能我说的有点儿啰嗦,但是大致意思还是很清楚的,具体过程如下图:
2.乘二取整
乘二取整适用于十进制与二进制小数之间的转换,例如,十进制0.71875要转换为二进制:
乘二取整的意思是,将十进制小数部分乘2,然后取对应的整数位作为对应的二进制数。
以十进制数字0.71875为例,0.71875*2=1.4375 取整数位1为对应二进制的第一个数,即:0.1xxx... 然后再取小数部分0.4375,0.4375*2=0.875 取整数位0为对应二进制的第二个数,即:0.10xxx... 然后取小数部分0.875, 0.875*2=1.75 取整数位1为对应二进制的第三个数,即:0.101xxx... 接下来做类似的操作,直到小数部分为0则表示结束,最后对应的二进制结果为0.10111,具体过程如下: