议题提交:cwa
信息来源:邪恶八进制信息安全团队(
www.eviloctal.com)
有人说计算机只处理0和1,其实不怎么正确啦..大家只要理解一下”计算机只处理0和1”仅在一个非常有限的意义上正确就对了
当一个计算机电路的某一部分达到5到6伏电压时候.我们就说它有一个1的值.当一个计算机电路的某一部分达到0伏时候.我们就说它有一个0的值.(我们要偷笑了.因为这就是一个高级程序员要学习的全部电学知识啦.鼓掌吧~~)
电压被翻译成0或者1.而0和1被组织成要翻译为数值的组.然后.计算机的较高级部分把那些数值翻译为表示小数、文本、颜色之类的代码。或者翻译为代表计算机内能表示其他无数种对象的任何一种对象的代码(现在:我们并不要求你先知道什么是对象,只要知道0和1)
现在的电脑都是有N多(上亿和上百亿甚至更多的)在显微镜下才能看见的微观构件。每个构件都有一个0或1的值(科技就是惊人),我们只关心其内电压近似值的任何一个电路叫做数字电路。用数字电路制造的计算机叫做数字计算机。现代的计算机大多都是数字计算机。(有一个和数字计算机对立的模拟计算,它们在20世纪40年代使用过,但它们是发展过程中的一个死路。所以现代计算机都是数字的。理解一下就可以。)
一个简单但很实用的数字电路类型叫做内存。一个内存电路仅储存一个数字值(0或1,因为程序员不要研究电压滴)。内存的一个单独单元叫做一个位(bit),而一个位代表一个“二进制数字”。 可以把一个位看成一个盒子。
1
位通常被组织成8位组。叫做字节(Byte)。如图:
1 0 0 1 1 0 1 1
位7 位6 位5 位4 位3 位2 位1 位0
需要注意:这些位是从左边开始编号的。而且从0开始编号。如果看到某人从0开始计数时,可以确信他在计算机领域工作了。因为从0开始计数时计算机领域的惯例。
无论给一个字节中的位编号。还是给内存中的字节编号。或者给一个数组中的元素编号。都是从0编号。
一个字节可以含有256个位置组合。第0位的两种可能性乘以第1位的两种可能性。再乘以第二位的两种可能性。直至乘以第7位的两种可能性。
通过显微镜看计算机。我们可以看到上面那个图,我们将会看到0和1,但是0和1有什么意义呢。这是一个没有适合答案的问题。一个字节可能代表一个整数。一个小数。一个整数和小数的一部分。文档中的一个字节。图像中的一种颜色或程序的一条指令。这个字节含义取决于它所处的环境。作为一名程序员。我们就是要规定每个字节将被怎样使用的人。
现代的计算机含有N多字节的内存。前缀词“兆”(所写M)意思是指百万。所以我们也可以说一台电脑拥有数百兆字节(MB),程序和程序员需要一种方法来区别一个字节与另外一个字节。这是通过给每个字节分配一个唯一号,叫做字节的地址(address)来做到的。字节地址从0开始。下面是几个字节
地址 内容
0 01101101
1 00000101
2 10000000
3 01101101
单个字节不是很有用,因为它只有256种可能性。无论表示什么。256种都不是一个很大的范围。因此,计算机常常使用字节组,联结成一个单元的2个字节可以具有256*256个,即65536个可能的值,4个字节可以具有256*256*256*256个即4294967296个的可能的值,这就是字节可以变得有用的地方,8个字节可以具有近似值于20*10的18次方个不通的值。
内存通常以1、2、4或8个字节的块来使用。这些块可以表示整数、小数;文本或其他任何一种信息。
可以这样理解一个东东:一台电脑是一个数字电路,而且我们把它的构件看作具有表示0或1的值。但是,如果注意位于那些数字构件下面的一层,我们将会只看见电流,而看不到数字,而且,如果注意位于那些数字构件上面的一层,我们将会看到那些位被组织成由1个或多个字节组成的块,并用来表示多种信息。