百科问答小站 logo
百科问答小站 font logo



计算机语言是如何做到靠0和1就表达出这么多东西的? 第1页

  

user avatar   zhu-wang-xiao-miao-o 网友的相关建议: 
      

汉字的笔划有哪些?传统的汉字基本笔画有八种,即“点(丶)、横(一)、竖(丨)、撇(丿)、捺(㇏)、提(㇀)、折( )、钩(亅)”,又称“永字八法”。

而《现代汉语通用字表》则规定了5类基本笔画:横类、竖类、撇类、点类、折类。

无论是横竖撇捺,还是ABCD等26个字母,本质上和01没有太大的区别。

我们可以仔细想想,八种笔划、二十六个字母、两个数字,这其实是一回事,没有本质上的区别。如果你能理解二十六个字母是怎样构成成千上万的单词,那你自然能理解01是怎么样表达如此多的意思。

这里拿ASCII码举个例子,对应图如下:

可以看到,大写字母A由ASCII码中的65表示,也就是二进制中的01000001来表示,B则是由01000010来表示,这样一路表示到小写z结束。

如此一来就把二进制和26个字母做了一个映射,如果你能理解英文是如何用ABCD等字母表示所有意思的,那通过这样的映射,二进制不就也可以表示所有的意思了吗?

但实际的计算机内还不止于此,二进制每8比特(即8位)构成一个字节,对于单字节的ASCII字符来说,8比特二进制值就能代表一个字符。而对于汉字这样的多字节字符,需要将其按字节切分,每个字节分别用8比特来表示。多字节字符又涉及到不同的字符集编码,例如Unicode、UTF-8、GB18030等。例如“中”字,Unicode使用4字节表示,UTF-8使用3字节,GB18030则使用2字节不同的编码表示。这样就又将汉字与二进制做了一个映射,通过这样的映射,二进制不就也又可以表示所有的意思了吗?

至于图像,视频等,也不过都是许许多多的二进制流的表示罢了

例如图像,也就是先把二进制和颜色之间做了一个映射,然后对图像划横线和竖线做一个切分,切分完成之后的每块都是一个像素点,然后给这个像素点分配一个代表该块颜色的二进制数字,呈现的时候再把每块像素中所包含的二进制数字转换成其所代表颜色,这样一幅图就完成了。

至于视频,也可以简单看成是一系列图的连续播放

这样一来,是不是对二进制如何表达复杂的东西有了一个大致的了解?

可以看到,实际上横竖撇捺,字母和01,它们所能表达意思的数目和他们本身的数目关系不大,只要位数够长,排列组合就会有很多种,表达的意思自然就会增长,表达普通人认可的“所有的意思”,也就自然不是问题了。




  

相关话题

  从粤语的逐渐消亡是否能看出人类最终会统一语言? 
  C# 语言和 .NET 框架相比 Java、PHP、Python 等 web 开发技术有哪些优劣? 
  为什么看到这么多人不推荐C++? 
  汉语和英语有可能合并成另一种语言吗? 
  康涅狄格这个词是什么意思? 
  网络上一位长者提出了“完全不依靠人工神经网络与机器学习算法实现人工智能”的理论,大家怎么看? 
  中国哪个地区的汉语方言更接近古汉语? 
  如何看待我国外交部在国际舞台上的发言方式? 
  孩子学说话比同龄孩子要晚,家长需要特别注意吗? 
  全世界有上千种编程语言,为什么程序员都只学习那几个主流语言? 

前一个讨论
这个公式如何证明?
下一个讨论
僵尸和丧尸都是以咬“人”来归类的,那如果僵尸和丧尸盛行,哪一个会站到最后?





© 2024-09-19 - tinynew.org. All Rights Reserved.
© 2024-09-19 - tinynew.org. 保留所有权利