凡人的智慧吧 关注:313贴子:9,891
  • 5回复贴,共1

从楚轩所谓的甲骨文源代码介绍一下计算机的原理

只看楼主收藏回复

无限恐怖里楚轩说程序突破了二进制就产生了智能,还号称看到对话框的源代码含有甲骨文。如果用现实世界的标准来看显然这都扯淡,下面具体介绍一下哪里有问题。


IP属地:广西来自Android客户端1楼2019-02-12 22:16回复
    在计算机中所有的数据和程序都是一长串二进制数字,实际上程序也是数据的一种,只不过这种数据的含义是一系列cpu指令。计算机采用二进制是硬件结构决定的,计算机由电路组成,各条线路的电压只有高低电压两种可能,高电压用来代表1,低电压用来代表0,于是就可以用电压来代表二进制数字。所有的电子元件在设计的时候默认了高电压为1低电压为0,内存和硬盘也只有代表0和代表1的两种状态,计算机结构不变的情况下,是不能使用0和1以外的数字的。即使强行输入其它电压只会损坏元件或者被元件当做0和1来处理。所谓的三进制四进制甲骨文在现在的电脑上是没法出现的。


    IP属地:广西来自iPhone客户端2楼2019-02-12 23:09
    回复
      突破二进制也和智能没有多大联系。只要设计时用三种或者四种不同的电压代表数字,根据这个规则设计配套的电子元件,就能得到三进制四进制计算机。显然这样做并不会让计算机的功能有大的改变,反而可能给计算机的设计增加了无谓的困难。


      IP属地:广西来自iPhone客户端3楼2019-02-12 23:18
      回复
        计算机中的程序也是二进制数据,是由很多二进制数字组成的。计算机中执行指令的是CPU,CPU执行的指令都是用二进制数字表示,不同的二进制数字串代表着不同的指令。开发软件的时候,大多数情况下不会直接用二进制指令组成完整的程序,因为指令的功能过于简单,开发难度太大。一般开发软件是使用各种编程语言,编程语言都提供了一系列高级的指令,程序员按照编程语言的语法使用这些指令写出一段文字形式的程序,这些文字就是源代码。然后一个称为编译器的程序会把源代码翻译成CPU的指令,这样就可以让计算机运行了。源代码本身是不能让计算机运行的,一定要有一个翻译过程,计算机最终运行的一定是CPU指令。在一个已经翻译好的程序中是看不到源代码的,也不可能知道源代码是用什么语言写成。虽然可以进行逆向翻译,把CPU指令再翻译成某种源代码,但是翻译成哪一种语言是可以任意选择的,并不会只能翻译成原来的语言。这就像把一段英文文字翻译成了汉语,虽然可以再反过来把汉语译回英语,但绝不会是只能再翻译成英语,而是想翻译成哪一种语言都可以。如果之前翻译得好,没有留下翻译腔,那也不可能推断出这段汉语文字是从英语翻译而来的。即使有翻译腔之类的特征存在,如果不是事先知道英语这种语言的存在,也不可能推测出这是从英语翻译而来的。所以,看到程序的源代码,还进一步看到源代码是甲骨文,是不可能的。


        IP属地:广西来自Android客户端4楼2019-02-13 01:08
        回复
          补充说明一下计算机是怎么用二进制数字保存各种数据的。一般来说保存的数据都是以字节为最小单位,一个字节就是一个8位的二进制。常见的数据以文字和图片为主,就介绍这两种。
          表示文字的时候需要有一个编码方案,所谓编码方案也就是编号方案,就是给每个字定一个数字编号,在电脑里用字的编号代表字就可以。电脑光是知道编号,还不能把字显示出来,因为不知道这个编号代表的字是什么形状的,所以必须要有字体文件,字体文件就保存了每个编号对应的字形是什么样的。有时在使用电脑的时候会看到某些字显示不出来,成了一个框或者类似的东西,这可能就是因为没有使用合适的字体文件,于是不知道这个字的形状是什么样的。


          IP属地:广西来自Android客户端5楼2019-02-13 13:26
          回复
            图片的表示方法复杂一些,图片有很多种格式,可以分为矢量图和像素图两大类。不同的像素图格式通常是在压缩方法上有差别,压缩前的数据是差不多的。像素图是由很多像素构成的,每个像素通常用三个或者四个字节来表示。人眼看到的颜色都能用红绿蓝三种颜色组合得到,所以可以用三个8位二进制数字分别表示红的程度、绿的程度、蓝的程度,数字越大程度越高。这样用三个字节就可以表示一个像素的颜色。有时还需要再用一个字节表示这个像素的透明度,这样用四个字节就可以表示一个像素的颜色。


            IP属地:广西来自Android客户端6楼2019-02-13 13:41
            回复