百科问答小站 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#相对路径 连接Access数据库怎么写?? 
  为什么很多计算机系的学生一点不会电脑的基本操作? 
  为什么最近十年发明的编程语言都喜欢先变量名后类型声明这种变量声明方式? 
  学计算机,不太喜欢编程,有哪些出路? 
  为什么没有或流行的拼音编程语言? 
  为什么很多人喜欢提及「拉丁语系」这个词? 
  会多国语言是什么样的体验? 
  WinPE 能破解 Windows 的密码,这样 Windows 就不安全吗? 
  为什么所有计算机培训课程老师的宣传照都是一身西装双手交叉在胸前。这明明不符合程序猿应该有的气质啊? 

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





© 2025-06-27 - tinynew.org. All Rights Reserved.
© 2025-06-27 - tinynew.org. 保留所有权利