二进制与十进制数互相转换的方法及原理

二进制与十进制数互相转换的方法及原理

有人问我一道十进制数转化为二进制数的题:13.625转化为二进制应该如何表示。让我回忆起十多年前学编程时就搞不懂二进制,不找“不必求甚解”的借口,我搜索了一些平台,但很失望,这么多年过去了,能找到的资源依然和以前一样,只讲怎样操作,不提为什么这样操作。让读者、学习的人知其然,不知其所以然。

也可能“大神”们认为,二进制与十进制数互相转换的方法告诉你后,你很容易就理解背后的原理了。在知乎上看到吐槽高校的教材编写质量的文章有很多,才知道实际上大部分人和我一样,都没有这样高的悟性。

文科学习中,读书时“不求甚解”是古人留给我们的学习经验,晋朝陶渊明在《五柳先生传》中说“好读书,不求甚解,每有会意,欣然忘食”。理工科的学习中,貌似应该摒弃此种读书的方法,应该把细节搞清楚,不留隐患。

找不到资源,或者不想用大量时间去找了,求人不如求己,索性自己琢磨,自己成为资源的提供方。

先简单科普下二进制,再说二进制与十进制数互相转换的方法,然后给出二进制与十进制数互相转换的原理。

二进制就是逢二进一,仅有两个数字0和1。有人说二进制源自1679年德国数学家莱布尼茨的思考,有人说源自中国的太极生两仪,两仪生四象,四项生八卦。但深刻、广泛的应用二进制,要到计算机的诞生,因为计算机只认识两个数字0和1,让电子元件保持两个稳定状态比如有电压、无电压,容易做到,可让电子元件保持10个稳定状态很难。所以,现在世界上的所有计算机,手机的内部运算使用的都是二进制数。

武断了,曾经有个很强大的国家叫苏联,制造出用三进制运算的计算机,据说苏联的数学家理论上证明过e进制运算是最高效的,三比二更接近e,实践也证明三进制计算机确实比二进制计算机更高效。各种原因,很遗憾,我们没有见过,用过三进制计算机。

十进制数和二进制数的前几个数对应表如下:

图片

下面举具体例子说明十进制数和二进制数互相转化的方法

图片

图片

图片

图片

所以,最开始的问题,13.625化为二进制数的方法如下图:

图片

下面讲转化的原理:

首先说明一下数位的含义。古罗马人用字母V表示5,字母 I 表示1,但 VI 并非表示51,大概那个年代还没有数位的概念,所以VI表示5+1=6,同理X表示10,但IX也不是110,IX=10-1=9。以下图的表盘为证

图片

我们现在书写数字的习惯是按数位理解的,51中的5在十位上,表示50,1在个为上,表示1。51=50+1

再例如5834表示5千+8百+3十+4,把千,百表示数位的字换成科学计数,如下图

图片

同理,二进制数1101的第一个1(最高位上的1)不是在千位(103)上,而是在23位上;第二个1,不是在百位上,是在“4”位上。

图片

小数的数位翻译如下图

图片

所以,二进制的整数或者小数转化为十进制数时,把每个数位上的0或1乘以对应的数位,再把积相加即可。

十进制的整数或者小数化为二进制数,看上面给的方法就很难,其原理用语言表达出来,想要严谨、简洁也很难。这里我就不试着表达了,用算式表达我的思考过程吧。

图片

图片

十进制整数化为二进制整数不用上面的待定系数法了,直接类比法得到,如下图

图片

仿照得到5、8、3、4的方法,类比得:

图片

把上面的两个推理写的形式再简洁一些

图片

如果上面的没有看懂,不用沮丧,因为我上面说的理工科学习应该摒弃“不求甚解”的观点,逻辑上好像有道理,可在实践中是不成立的。任何人都不可能短时间掌握真理的所有细节。光是波还是粒子,科学家们争论了很多年;飞机都已经在天上飞了很多年,自行车我们基本都会骑行,但飞机和自行车的原理科学家们直到现在也不能给出完美解释。

看任何书,都可以不求甚解,对学习来说,最重要的是,每有会意,欣然忘食。

们争论了很多年;飞机都已经在天上飞了很多年,自行车我们基本都会骑行,但飞机和自行车的原理科学家们直到现在也不能给出完美解释。

看任何书,都可以不求甚解,对学习来说,最重要的是,每有会意,欣然忘食。

如果上面的没有看懂,不用沮丧,也可能是因为我写的水平太差,并非你的悟性不好。最重要的是,每有会意,欣然忘食。

学习计划安排


我一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣~

这里我整合并且整理成了一份【282G】的网络安全从零基础入门到进阶资料包,需要的小伙伴可以扫描下方CSDN官方合作二维码免费领取哦,无偿分享!!!

①网络安全学习路线
②上百份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥HW护网行动经验总结
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值