信息就是位+上下文 读深入理解计算机系统

来源:互联网 发布:学而后知不足的下一句 编辑:程序博客网 时间:2024/06/06 09:31

 

我们的hello程序的生命是从一个源程序(或者说源文件)开始的,该源程序由程序员通过编辑器创建并保存为文本文件,文件名就是helloc.c。源程序实际上就是一个由0和1组成的位(又称为比特)序列,这些位被组织8个一组,称为字节。每个字节都表示程序中某个文本字符。

大部分的现代系统都使用ASC码标准来表示文本字符,这种方式实际上就是用一个唯一的字节大小的整数值来表示每个字符。下图给出hello.c程序的ASC码表示。

hello.c程序是以字节序列的方式存储在文件中的。每个字节都有一个整数值,对应于某个字符。例如,第一个字节的整数值是35,它对应的就是字符“#”。第二个字符整数值为105,它对应的字符是“i”,以此类推。注意,每行文本都是以一个看不见的换行符“\n”来结束的,它所对应的整数值为10。像hello.c这样只由ASC码字符构成的文件称为文本文件,所有其他文件则称为二进制文件。

hello.c的表示方法说明了一个基本的思想:系统中所有的信息——包括磁盘文件、存储器中的程序、存储器中存放的用户数据以及网络上传送的数据,都是一串比特表示的。区分不同数据对象的唯一方法是我们读到这些数据对象时的上下文。比如,在不同的上下文中,同样的字节序列可能表示一个整数、浮点数、字符串或者及其指令。

原创粉丝点击