为什么无法理解二进制(二进制不只是0和1)

为什么无法理解二进制(二进制不只是0和1)(1)

话说有一地主,他请一个技艺非凡的匠人修建一漂亮亭子,工期为7天。

地主家没有余粮但有一根细长的金条,他跟匠人约定,每天的工钱就是金条的七分之一。

然而,由于种种原因,金条只能切两刀,请问,应该怎样切才能给匠人每天支付七分之一的黄金?

地主说了,谁能解决这道难题,就把他家女儿嫁给他。

…………

这当然是一道数学题。

答案很简单,但很有趣,如果你之前没有见过,可以先不看下文,先自行思考一下。

为什么无法理解二进制(二进制不只是0和1)(2)

因为计算机使用“二进制”。

解决本题的思路在于二进制。当然,当你知道答案后,就是不提二进制,你也会做,只是呢,借此了解一下二进制的一些相关知识,也是挺值的。

若想直接看答案,可直接跳到尾部

二进制,顾名思义,就是逢二进一。这跟十进制中的逢十进一是一样一样的。

为什么无法理解二进制(二进制不只是0和1)(3)

如上图,从右到左,我们可以使用A、B、C,3个火把表示一个3位二进制。A火把如果点燃,就表示1,熄灭,表示0,这跟计算机世界中的“1”和“0”没有本质区别。

现在,我们要用火把表示数字“2”,根据逢二进一的原则,应该往前进一位,也就是B位。

为什么无法理解二进制(二进制不只是0和1)(4)

如上图,上面的火把表示数字2。写成二进制就是010。

为什么无法理解二进制(二进制不只是0和1)(5)

如上图,上面的火把表示数字3。写成二进制就是011。

如果要表示4,就得在上面的基础上加1,于是,A位往前进一,B位也要往前进一,来到C位。

为什么无法理解二进制(二进制不只是0和1)(6)

如上图,C火把点燃表示数字4,写成二进制就是100。

表示5就简单了。

为什么无法理解二进制(二进制不只是0和1)(7)

上图表示5,写成二进制就是101。

为什么无法理解二进制(二进制不只是0和1)(8)

上图表示数字6,用二进制来表示6就是110。

为什么无法理解二进制(二进制不只是0和1)(9)

同理,上图表示数字7,二进制为111。

瞧,如果使用二进制的话,我们就能使用3个火把,在“熄灭-点燃”间表示数字1到7了。其实还可以表示数字0,全部没有点燃时。

这里的熄灭和点燃,就像是灯泡的点亮和熄灭。而最最古老的计算机里也是用一个个灯泡在点亮和熄灭间进行的。

以下为答案

一块金条,每天要支付给工匠七分之一,但只能切两刀,这两刀可以把金条切成4份,也可以切成3份。显然,切成4份是不能解决问题的。

在这里,我们选择切分成3份。

为什么无法理解二进制(二进制不只是0和1)(10)

为什么要这么切分?因为这跟上面的二进制是一样的道理。从右往左,第一位代表1,第二位代表2,第三位代表4。

二进制十进制
0011
0102
0113
1004
1015
1106
1117

现在,咱们来教一下地主,怎么给工匠每天支付七分之一的黄金。

为什么无法理解二进制(二进制不只是0和1)(11)

为了便于表述,上图黄金的1,命名为“小块”,中间那块2叫做“中块”,左边那块4叫做“大块”。

现在开始支付:

第一天:将小块金条给工人。

第二天:从工人那里取回小块,并给工人中块。(取回的过程相当于A火把熄灭,也相当于1变成0)

第三天:将小块支付给工人。

第四天:从工人那里取回小块和中块,并给工人大块。(相当于熄灭前两个火把,点燃C)

第五天:将小块给工人。

第六天:从工人那里取回小块,并给他中块。

第七天:将手里最后的小块支付给工人。

方法就是这样的。

我们终于帮地主家解决了难题……

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页