二进制运算还有一些有趣的特点,比如一个数向左移一位,就相当于把它乘以2。计算的问题就不讲太多了,而现代计算机不单用来计算,还能用来储存信息。
只要给信息编上号码就行了。7位二进制有128种组合。128种组合足够表示所有英语字母大小写和标点符号了。于是人们把所有字母编号,形成一种编码,解读时还原成字母,信息就这样储存起来了,这就是ASII编码,第一位没用上,全用0,后7位给所有标点符号、阿拉伯数字、英文大小写都指定了一个编号。这就是是美国信息标准编码的简写,全世界通用。你如果用二进制编辑器打开一个英文文章,你会发现是这样的:0011 0010 0110 1001……我们把1位叫做1bit,8位叫做一个字节(1byte)。现在拿起来笔来算一算吧,1MB能存多少英文字母?对,聪明的你一定算出来了,一百万个!大概十几万单词,一本不厚的书。
汉字呢?汉字需要两个字节才能表示。你可以算算,8位只能有256种组合,给每个汉字编号,肯定是不够的,而2个字节就是16位了,能有65536种组合,给汉字编号基本够了(早期这也造成了一个问题:大陆用简化字,台湾香港用繁体字,编码方法不一样,还有日本韩国也对汉字有编码,所以你如果用简体系统看繁体文件全是乱码,需要一个软件把编号对应的转换一下),现代电脑上一般都用gbk编码,就是扩展字符集,网页上用iso和unicode,这个是世界标准,支持的字更多,但也比较复杂一点,有兴趣可去百度一下,总之,现在网页很少会有乱码了。汉字本身的字形信息存在字库里,早期点阵字库也很简单,比如16*16个点,有笔划的地方填1,没笔画的地方就是0,象一幅小的魔法符号一样存储着,需要显示的时候就读出来。1兆字节就能储存50万汉字!而一本《三国演义》也就60多万字,也就1.2MB。中国古书绝大部分不会超过1MB。四库全书还不到二个GB!
看起来汉字的信息量更大一点,这也很容易理解:我们学汉字要记住几千个不同的魔法符号!而这些符号和发音并没有直接联系。汉字信息量大就是建立在符号多的基础上。外国人看汉字,难道不象一个个魔法符号吗?所以东方魔法系统和西方有很大差异。
你在windows 10的”附件“里,还能找到一个叫”字符映射表“的小程序,你可以看看现在的编码:
科普系列(4)存储数据比如“鬦“这个字的编码是9B26,这是十六进制。因为16进制和二进制是一一对应的,1111就是F,1110就是E,1101就是D,所以把16进制转成二进制是很容易的事,但写成16进制看起来简单得多。比如上面9B26写成二进制:1001 1011 0010 0110。
网友评论