第25章 二進位編碼這怎麼能做到?
四桶酒分成兩組,變成兩個一組,還是需要一天時間來判斷。
三虎百思不得其解,思考再三後,對老錢說道:“想不出來,怎麼著也得再需要一天時間,你還是直說答案吧。”
“你是不是把兩隻老鼠分成兩組,然後每隻老鼠喝一桶酒,這樣就能縮小範圍到兩桶。”
聽到老錢的話,三虎憨厚地點了點頭。
“為什麼一定要把酒分成兩組,為什麼老鼠只能喝一桶酒?為什麼跳出原本的思維定式?不從老鼠的角度,而是從酒的角度來看問題。
比如對於第一桶酒,兩隻老鼠都不喝;第二桶酒,老鼠甲喝,老鼠乙不喝;第三桶酒,老鼠甲不喝,老鼠乙喝;第四桶酒,老鼠甲乙都喝。
這樣的話,如果第一桶酒是毒酒,兩隻老鼠都沒喝,所以兩隻老鼠都不會死;
如果第二桶酒是毒酒,只有老鼠甲喝了,所以老鼠甲會死,但老鼠乙不會死;
如果第三桶酒是毒酒,老鼠乙喝了,所以老鼠乙會死,老鼠甲不會死;
如果第四桶酒是毒酒,兩隻老鼠都喝了,所以兩隻老鼠都會死。
那麼只需要一天時間,就能從四桶酒裡面判斷出那桶酒是毒酒。”
頭好癢,要長腦子了。
聽完老錢的解釋,三虎感覺自己彷彿開啟新世界的大門,一個以往想都沒想過的方法在自己面前呈現。
可為什麼老錢要說這和“二”有關係?
到底這種方法裡面,什麼是“二”?
三虎感覺自己和答案只差最後一堵牆壁,只要找對門路,就能越過這堵牆。
但這堵牆又彷彿天塹,自己怎麼也邁不過去。
就這麼想了一會,三虎實在想不出到底有什麼聯絡,只能無奈地對老錢說道:“就差一點,但還是想不明白,你還是繼續說吧。”
“想不明白很正常,因為這涉及到二進位編碼。
換句通俗的話,老鼠喝酒,會有生死兩種狀態。如果兩隻老鼠喝酒,一共四桶酒裡有一桶毒酒,根據剛才的喝法,會有生生。生死。死生。死死四種可能的結果,那麼這四種可能的結果就分別對應一種情況。
如果拓展到三隻老鼠,最多會出現八種狀態,生生生,生生死,生死生,生死死,死生生,死生死,死死生,死死死。
如果是四隻老鼠,最多會出現十六種狀態。
這就是整個演算法的核心,老鼠的生死,兩種狀態,代表0和1,也就是二進位的基礎單位。
所謂二進位,就是隻有0和1,和十進位的計數規則很接近,都是從右往左計數,只不過十進位裡逢10進1,也就是個位數9後面是兩位數10,而二進位的計數規則是逢2進1.
比如1,在4位的二進位裡面表示為0001;比如2,因為逢2進1,倒數第二位就是1,代表一個2,倒數第一位就是0,所以就可以表示為0010;
比如3,比2多1,所以在末位多一個1,表示為0011;
比如4比3再多1,最後一位加1變2,所以進一位;倒數第二位加1後也變2,所以又進一位,最後結果就是0100;
。字數個61計共51到0從示表能共一數位4的樣這,1011是就31如比;1110是就7如比
。數的位一第數倒表代乙,數的位二第數倒表代甲,11,01,10,00為別分碼編酒桶四對況酒喝的鼠老過,況的酒桶四鼠老隻兩初當到回在現








