在计算机系统中所有的信息都是由0和1组成的位序列,位(bit)又称为比特,虚拟货币“比特币(bitcoin)”即是由此而来。你可以把位想象成一行行水平排列的连续的小格子,空格子代表0,有小黑豆的格子代表1。8个连续的格子为一组,被称为字节,字节是用来表示文本字符的基本单位。
大部分现代计算机系统都使用ASCII(American Standard Code for Information Intercharge) 标准来表示文本字符,这相当于一个公认的用数字代表字符的约定,比方说,100代表字符 i, 10代表换行符 \n,等等。ASCII标准只能用于表示英文文本,你现在正在看的,我们博大精深的中国汉字,不是由ASCII标准表示的,而是加入了汉字字符的UTF-8标准,不要被这些约定搞混了呦~
那这些数字是怎么存储在计算机里的呢?这可就要说说我们的计数方式啦!日常生活中,我们人类普遍采用十进制,也就是逢十进一位,计算机采用的是二进制,也就是逢二进一,比如说10,存储在计算机中的二进制表示就是1010,1 * 2^3 + 0 * 2^2 + 1 * 2 + 0 = 10, * 代表乘,^ 代表阶乘,x^y就是y个x相乘。可能有的小朋友就要问啦:“为什么计算机不和人类一样采用十进制呢?” 因为计算机它酷呀!嗯~ o( ̄▽ ̄)o其实是有两个主要的原因:一个是因为计算机存储、传递信息是通过电磁信号,信号它是有波浪形的,有波峰和波谷,因为电磁信号易受干扰,峰值和谷值不是稳定的,很难把它分成10段代表0到9,但是波峰和波谷是非常分明的,于是就用来代表1和0,泾渭分明;二是因为二进制方便计算机进行各种计算。嗯,这个就涉及到数学上的布尔代数(Boolean algebra), 后面我们再展开讲这个精妙又绕人的布尔代数。
计算机系统中所有的信息,对!就是所有的信息,包括你爱豆的图片都是由0和1组成存储在计算机上的,是不是有点幻灭。你发送一条吐槽到微博上,也都是一串0和1,想想黑客帝国那张经典的图片,满屏0和1,这就是客观存在的计算机世界。园长要去吃晚饭了,have a good evening~