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

 

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

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

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值