你说有三种办法,但是我所知道的只有两种,可能其他人的回答会进行补充。
第一种:
需要一个辅助的变量。
辅助变量的初始值是1。
将辅助变量一直乘以二,直到下一次乘以二将会大于被转换的十进制为止。
然后一直做一个具有分支的步骤,直到将要被转换的十进制等于零为止。
并且每次做完之后再将辅助变量除以二:
如果辅助变量小于或等于将要被转换的十进制,那么把将要被转换的十进制减去辅助变量,然后在写结果的地方最右边写上一个1。
否则就直接把辅助变量除以二,然后在写结果的地方最右边写上一个0。
等到可以跳出刚才那个循环了之后,结果就已经写完了。
第二种办法:
一直把将要被转换的十进制除以二(记得包含余数),然后把余数从右往左写。
直到最后将要被转换的十进制等于零为止。
最后结果就是二进制了。
如果是整数数,则采用除以2求余数的方法,即:
原10进制数除以2,得商和余数;
用商除以2,再得商和余数。
以此类推,直至商为0。
此时将每次得到的余数按照相仿的次序拼写在一起就是对应的2进制数。
如果是小数,则采用乘2取整的方法,即:
原10进制小数乘以2,得小数部分和整数部分;
用小数部分乘以2,再得小数部分和整数部分。
以此类推,直至小数部分为0或者达到制定的精度要求时结束。
此时将每次得到的整数部分拼写在一起(前面加0.)就是对应的2进制数
对于一个一般的10进制数,则整数部分和小数部分单独转换,然后拼在一起就是对应的2进制数
10(二进制)=2(十进制)。
二进制数转换为十进制数采用按位加权求和法。
十进制整数转换为二进制数采用辗转相除法。
二进制的优越性:
1、适合逻辑运算。
逻辑代数是逻辑运算的理论依据,二进制仅两个数码,与逻辑代数中的“真”和“假”相吻合。
2、易于进行转换,二进制与十进制数易于互相转换。
3、利用二进制表示数据具有抗干扰能力强,可靠性高。
每位数据只有高低两个状态,当受到定程度的干扰时,仍能较为可靠地分辨出其高低。
十进制里的1.2.3.4.5.6.7.8.9.10分别对应二进制里的01,10,11,100,101,110,111,1000,1001,1010。
二进制是逢二进一的,用十进制里的数除以2取余数,如5第一次除以2商是2余数是1再用2除以2商是1余数是0,用1除以2商是0余数还是1,再从最后一个余数往前写就是101。