阅读本文需要 4 分钟
前言
当有人问你1 + 1
等于几的时候,你会觉着这是对你的一种侮辱,这种弱智问题,居然拿来问我。。。。听起来好像你说的没错,1 + 1
是挺简单的,可是如果让你证明的话,可能你这一辈子都证明不出来。。。
稍微知道一点的人,可能会联想到我国著名科学家陈锦润为了证明1 + 1 = 2
,用了几个麻袋的草稿纸的故事,并且最终证明出来了!当然这点是值得我们骄傲的事,但是事实上陈锦润只是证明了1 + 2 = 3
,历史上最著名的猜想:哥赫巴德猜想——1 + 1
为什么等于2
,至今无人证明出来。
我们今天当然不谈怎么证1 + 1 = 2
,我们说的是:你知道在计算机里为什么1 + 1 = 2
吗?
进制问题
众所周知,计算机不像人的大脑,只认识0,1
代码,所有的操作,最后汇聚到计算机底层时,都是0,1
代码.而怎么将人类能识别的数字转化成计算机识别的0,1
代码,计算机又是是怎么将十进制的1,2,3,4,5
转化为二进制的0,1
的呢?
进制转化
科班出身的在遇到进制转化时,都会心中默念四个字:8,4,2,1
。这是什么意思呢?
原来在二进制下,以四个字节为例,1111
,从右往左,第一个1
转化