什么是二进制?

论坛 期权论坛 金融     
期权匿名问答   2022-9-27 05:20   1741   5
我们生活中经常会听到二进制这个词,但很多没有接触过计算机基础知识的人对此摸不着头脑,啥叫二进制?bd会告诉他们,二进制数就是一串由0和1组成的数字,计算机的底层零件用通电来表示1,断电表示0,这样子便于存储和处理数据......blabla......
bd上对二进制的讲解确实没有多大问题,但对于完全没有计算机基础知识的人来说,这样子的解释还是显得有点晦涩难懂。今天,我就用通俗易懂的语言给大家讲讲什么叫二进制。
说到二进制,我们会联想到十进制,也就是我们平常使用的数字。为什么叫十进制呢,你就这么记住就好了,因为它由十个数字组成,分别为0-9,然后左右两位之间的倍率是10。我们举个例子,369这个数字可以拆成3*100+6*10+9*1 = 3*10^2+6*10^1+9*10^0,也就是说3的大小其实是3*10^2,6的大小其实是6*10^1,而9的大小其实是9*10^0,依然是9。最后我们把这三个数的真实大小(为了方便讲解,我把一个数的十进制形式叫做真实大小,但其实十进制和二进制并没有高低优劣之分,只不过一个为大众所熟知,一个没有而已)相加,即得到了369这个结果。
看到这,你肯定会说,你这不是画蛇添足嘛!明明只要把3、6、9给拼一块就是它的最终大小了,干嘛费那个劲来计算它的大小?
我们当然不用那么麻烦地来计算一个十进制数的真实大小,因为我们平常生活中用的就是十进制数。但现在,我给你一串二进制数,你就不能直观地判断出它的真实大小了,这个时候,我们可以通过换算来把二进制数转换为十进制数。
现在你已经知道二进制为啥叫二进制了,我们可以给它下一个通俗易懂的定义。它是由0和1组成的一串数字,并且左右两位之间的倍率为2。
现在给你一串二进制数101110001,你能算出它的真实大小(十进制形式)是多少吗?
为了方便起见,我们从最右边的位开始算,并把各个位的真实大小相加,结果=1*2^0+1*2^4+1*2^5+1*2^6+1*2^8(省略了值为0的位,因为0与任何数相乘的值仍为0)=1+16+32+64+256=369。所以我们得出一个结论:(369)10=(101110001)2,即369这个十进制数和101110001这个二进制数是完全相等的,只不过是表示的形式不用而已。
学会了把二进制数转化为十进制数,那么把十进制数转化为二进制数又该如何操作呢?(该内容有点晦涩难懂,可直接跳过)
我们不难发现,二进制数左边的位的权值是右边的位的权值的两倍,而最右边的位的权值为1,所以从右往左看,各个位的权值依次为:1,2,  4, 8,16, 32, 64, 128, 256, 512......,所以当一个位的值为1时,表示这个位的值就是它的权值的大小,而当一个位为0时,表示这个位的值为0。
当要把一个十进制数转化为二进制数时,我们采取的策略是把它一步一步拆分。
我们首先观察一个这个数离哪一个位的权值最近,且这个位的权值要小于这个十进制数。举个例子,有一个十进制数150,我们发现比150小的权值中128是最大的,所以权值为128的这个位的值是1,此时还剩22。我们又发现比22小的权值中16是最大的,所以权值为16的位的值是1,还剩6。我们发现比6小的权值中4是最大的,所以权值为4的位的值是1,还剩2。我们发现比2小的权值中2是最大的,所以权值为2的位的值是1,没有剩余了。没有被选中的位的值全部设为0。
所以150最终可以转换为10010110。
相信你对进制这个概念有了进一步的认识,可能你会问,既然有二进制,那么有没有三进制呢?这是一个好问题!三进制当然存在,我们可以参考上面十进制和二进制的特点,自己“创造”一个三进制出来。首先,它是由0、1、2三个数字组成的一串数字,这个没有任何问题,然后,左右两位之间的倍率是3,这个也没有问题。然后,我们随便写一串三进制数来练练手。举个例子,20121021是一个三进制数,把它转换为十进制数?So easy!
从右往左计算,结果为1*3^0+2*3^1+0*3^2+1*3^3+2*3^4+1*3^5+0*3^6+2*3^7=1+6+27+162+243+4374=4813。
现在对进制这个概念是不是很熟悉了?是的话可以接着看下面哦。我将普及一下关于文字如何存储在计算机中的问题。
我们每天都在屏幕上读取文字信息,但你有没有想过文字是如何存储在计算机中的?
其实计算机(几乎所有包含处理器的电子设备都可以称为广义上的计算机,包括手机、平板电脑、PC、空调电路板、计算器、电饭锅电路板等)采用了映射的策略。计算机中使用了一种叫做字符集的东西,字符集有很多种,常见的有utf-8、gbk等。每一种字符集会对字符进行编号,比如1号对应'a'这个字母,2号对应‘6’这个数字,10086号代表‘我’这个汉字,1314号代表‘の’这个日文。当我们要在计算机存储一个文字时,计算机会存储指定字符集中该文字对应的编号(二进制形式)。不同的字符集中各种映射关系是不同的,因此,计算机之间进行信息传输时,要向对方指明使用的字符集,否则可能会产生乱码。
关于二进制的讲解大概就这么多。
常年潜水,突然想到可以利用自己所学的一点知识来给人指点迷津,遂作此文,写的不好请见谅。
------------------------------分割线----------------------------
5.11更新
前阵子终于落实了工作问题,今年的就业形势确实严峻,好多公司都减少了录用名额。至今仍有不少非计算机专业的同学仍没有找到毕业的第一份工作,我都替他们着急万分。
值得庆幸的是,答主报考志愿时选择了计算机这一万能就业专业,虽然就业大环境很差,但是计算机仍旧是相对而言比较好找工作的。最终我在几个offer里面选择了一份国企的软件研发岗,从而为忙碌的求职季划下一个圆满的句号。
闲暇之余,我就想着摸索点赚取生活费的门道。思索良久,我觉得可以用自己所学,为想入门计算机编程的同学提供指导,同时赚取一点微薄的钱财。
路过的友友,如果你有入门Java或者Python等编程语言的需求,请私信我,我会为你提供一对一的讲解和指导~
(图片来源于网络,侵删)
分享到 :
0 人收藏

5 个回复

倒序浏览
[赞同]谢谢
感谢答主的分享。
写的很好,通俗易懂
感谢认可[酷]
写的很好,非常通俗易懂[大笑][思考]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:389707
帖子:77942
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP