一个关于送布的故事
古时候,一个布老板开了一家布店。当店里没有布的时候,需要小尔送过来。
可是小尔在城外,距离布店很远,不知道店里没有布了。
布老板就要派人专门跑一趟,这种方法很麻烦。
于是,他们俩商量了一个方法。布老板一旦在城里放起风筝,小尔在城外看到就把布送过来。
故事完。
<small>(小布语:请原谅气球的乱入,只因布老板一时没有找风筝。)</small>
分析故事
请大家不要太在意细节,只要记住一点:布老板和小尔之间用风筝来通知消息。
方法 | 内容 |
---|---|
有风筝 | 要送布 |
没风筝 | 不用送布 |
既然我们目的是判断要不要送布,那么也可以用其他东西来代替风筝。
内容 | 方法1 | 方法2 | 方法3 | 。。。 |
---|---|---|---|---|
要送布 | 有 烟 | 有旗 | 有烟花 | 。。。 |
不用送布 | 没有烟 | 没有旗 | 没烟花 | 。。。 |
可以用来表示消息的方法很多,归纳起来就是>>>两种不同状态代表不同的消息。
- 状态1:有某种东西(风筝、烟等)代表要送布。
- 状态2:没有某种东西(风筝、烟等)代表不用送布。
<small>(ps:状态1和状态2是不会同时存在的)</small>
那么,我们是不是可以用另一种思路来理解。
- 有某种东西-> 1 ->要送布。
- 没某种东西-> 0 ->不用送布。
<small>(ps:两种状态分别用1和0表示)</small>
注意,重点来了:
0表示不用送布,1表示要送布。
莫名奇妙的0和1
这个时候,不知道你是不是在纠结中,干嘛用0和1?
让我们接着往下看。
<small>(小布语:1个苹果、1把伞、1棵树,这不是小学题吗?)</small>
上面三个东西是不是都代表了“1”。
没错,数学老师一直让我们知道,数字可以代表任何东西的数量。
<small>(小布语:这么多苹果,还好有复制、粘贴)</small>
这个就是符号化。把东西的数量用数学符号代表,而不是画几个东西。
<small>(ps:符号化有很多意思,感兴趣的可以上网查询)</small>
数字可以方便进行计算,最后套上单位就可以了。比如:
600+100=700(个)
这是600个苹果加上100个苹果,等于700个苹果的计算,比你画700个苹果方便多了。
这里,我们用0和1来代表某些东西,也是方便以后的计算。
敲黑板,重点来了:
这里用的0和1,不仅仅代表数量,也可以代表某个东西、某个事件。
<small>(ps:1代表有,0代表没有)</small>
当然,如果你脑洞大开,马上会想到:
0代表有,1代表没有
这种表示方法也可以。
<small>(ps:这就是负逻辑,相对应的就是正逻辑)</small>
为什么呢?
因为0和1代表什么,都是你或者你们自己定义的,只要自己不乱就可以了。
<small>(小布语:你们开心就好。。。)</small>
0和1怎么代表一切
我们不是闲着没事做,非要弄个0和1,来考验大家的智商。
这个时候,如果大家没有被绕晕的话,是不是会想,0和1就两个数字,怎么代表世间的万物呢?
<small>(小布语:我什么时候被代表了。。。)</small>
好的,那我们接下来,看看0和1是怎么代表数字的。
你想的没错,就是0、1、2、3、4的数字。
<small>(小布语:数字代表数字,真不知道怎么感慨。。。)</small>
首先,第一排出场:
<small>(ps:不要关注画风不好,重点在文字)</small>
目前一切良好,第二排开始:
<small>(小布语:感觉要出大事了)</small>
好的,第三排继续:
<small>(小布语:我看到有人耍赖。。。)</small>
不是说好,只能用0和1吗?
没错,只能用0和1。
但是这里的0和1,不是只能用1个“0”,和1个“1”。而是无数个“0”和“1”。
所以,接下来应该是如此这般如此这般:
<small>(ps:0、1、10、11、100,为什么是这个顺序,后面会讲这种进位规则。)</small>
按照这种方法,0和1就是这么代表其他的事物。比如,文字对应表:
<small>(ps:此次为了方便理解,没有使用标准的编码协议)</small>
对照数学数字和文字,就会发现一些问题:
<small>(小布语:0和1这么有存在感。。。)</small>
“11”代表的是什么,是“D”,还是“3”?
其实,“11”都可以代表。你要代表文字,它就是“D”;你要代表数学数字,它就是“3”;甚至是其它。
就像数字“700”,如果不给它具体的单位,可以是700个苹果,也可以是700个人。
0和1所代表的意义,我们后面会在具体环境里,再次讲解。
本文目的
说了那么多,也就是一句话的事:
将一切东西,用一堆的“0”和“1”来表示。
至于,这堆“0”和“1”有什么用,我们后面继续学习。
- 如果你瞬间自认为,已经领会了“二进制”的精髓,已经完全超出本文的目标了;
- 如果你已经知道世界上竟然有这种神奇的逻辑存在,那么已经达到本文的目的了;
- 如果你完全不知所云,那就是大家不在同一频道。
本文假设大家都不知道计算机编程的知识,举得例子都是用生活中比较合适的事物。
但是,“二进制”毕竟是在计算机世界里使用的,所以还是会影响知识的理解。后面随着慢慢引入编程知识,情况会越来越好!