书城科普读物探索未知丛书-计算机王国
45421700000063

第63章 为什么计算机能猜出你的年龄

计算机中有一个猜年龄游戏,即让计算机猜你的年龄。猜的方法是这样的:首先计算机在屏幕上显示如下两行数字:111135312729153172172523199如果你的年龄在这些数之中,你从键盘上回答“Y”。否则回答“N”。然后计算机又显示两行数:2101862215302631119723311427

你仍然根据你的年龄数是否在其中,从键盘上回答“Y”或“N”。如此往复,共回答5次。

假如你的年龄是10岁,你五次回答的应该是:N、Y、N、Y、N。如用“1”表示Y,“0”表示N,并从第五次开始顺序往回书写,则得到01010。它就是10的二进制数。这是巧合吗?不是,计算机第一次显示的数如果换成二进制数,其右数第一位都是1,如你回答“N”,等于告诉计算机,你的年龄的二进制数右数第一位不是1,是0。同理:第二次显示的数换成二进制数后,其右数第二位都是1。回答“Y”,又是告诉计算机你年龄的二进制数右数第二位是1。依此类推,你回答5次,就告诉了你年龄的二进制数5位分别是几。实际等于你告诉计算机你多少岁。但只能猜出年龄在31岁以内的。因为255=32。若要猜100岁以内的年龄,则需回答7次。二进制数不仅可以猜年龄,还可以使许多运算化简,它的应用将会越来越广泛。