十进制数转化为二进制数的两种方法

如果我们要把十进制的150转化为二进制数,可以使用下面两种方法:

第一种方法:表格法

这种方法的核心思想就是用二进制的各位来“拼凑”出我们的十进制数。

我们先把二进制各位的位权列在表格里面。(我们如何知道要列多少位出来呢?其实我们就是要列到比150小并且最接近150的那一位,也就是列到128就可以了。)

1286432168421
        

 

 

 

 然后我们从左往右看,如果需要使用这一位去拼凑150这个数,就在那一位的下方写上1,反之,写0.

128是最接近150的,必然要用到。所以表格变成了下面的样子: 

1286432168421
1       

 

 

 

然后,我们从150里面把128减掉,剩下的是22。我们发现64和32都比22大,那么这两位就用不到,记上0.

1286432168421
100     

 

 

 

16比22小,需要使用,记上1.

1286432168421
1001    

 

 

 

把16从22里减掉,得到6。8比6大,用不到,记上0.

1286432168421
10010   

 

 

 

4比6小,需要使用,记上1.

1286432168421
100101  

 

 

 

把4从6里减掉,得到2. 正好下一位的2可以使用,记为1。至此,就完成了拼凑,所以最后的1也用不上了,记为0.

1286432168421
10010110

 

 

 

表格第二行连起来是10010110,它就是十进制的150在二进制中的表示。

这种方法的优点是比较容易理解,缺点是有些麻烦。如果数字很大,表格需要列得很长。

第二种方法:除基取余法

第一步,150除以2,商75,余0;

第二步,75除以2,商37,余1;

第三步,37除以2,商18,余1;

第四步,18除以2,商9,余0;

第五步,9除以2,商4,余1;

第六步,4除以2,商2,余0;

第七步,2除以2,商1,余0;

第8步,1除以2,商0,余1.

组合的时候,一定要记得最后得到的余数是二进制中的最高位。所以我们要倒着组合,得到10010110.

可能这种方法一开始不是那么好理解,可以对比我们熟悉的十进制数。如果我们有一个十进制数168,第一次除以10,商16,余8,这就相当于我们把个位的8(最低位)给“脱”下来了;第二次,16除以10,商1,余6,这就相当于把十位的那个6给“脱”下来了;然后再用1除以10,商0,余1,这就相当于把百位的1给“脱”下来了。所以我们这一路得到的余数,是从低位到高位的数字。那么二进制里,也是同样的道理。

使用这种方法,还是比较便捷的,只要计算的时候细心一些就好了。

 

如果这篇博文帮到了你,就请给我点个吧(#^.^#)

有疑问也欢迎留言~博主可nice啦,在线秒回ヾ(◍°∇°◍)ノ゙

 

  • 97
    点赞
  • 187
    收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:终极编程指南 设计师:CSDN官方博客 返回首页
评论 8

打赏作者

宁宁Fingerstyle

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值