信息的表示和处理--信息存储

###1.信息存储   机器级程序将存储器视为一个非常大的字节数组,称为虚拟存储器(virtual memory)。存储器的每个字节都由一个唯一的数字来标识,称为它的地址,所有可能地址的 集合就称为虚拟地址空间(virtual address space),它只是一个展示给机器级程序的概念性映像。编译器和运行时系统的一个任务就是将这个存储器空间划分为更可管理的单元,来存放不同的程序对象,也就是程序数据、指令和控制信息。有各种机制可以用来分配和管理程序不同部分的存储。这种管理完全是在虚拟地址空间里完成的。 ####1.1十六进制表示法   一个字节包括8位,在二进制表示法中,它的值域是00000000~11111111。如果是十进制整数,则它的值域就是0~255。但是这两种符号表示法都不太好,二进制过于冗长,十进制不方便与位模式进行装换,所以通常的替代方法是使用以16为基数的十六进制来书写位模式。十六进制使用数字“0”~“9”和字符“A”~“F”来表示16个可能的值。     在C中通常以0x或0X开头的数字常量表示十六进制的值。字符“A”~“F”既可以是大写也可以是小写,同时可以大小写混合使用。 ####1.2字   每台计算机都有一个字长(word size)指明整数和指针的标称大小。因为虚拟地址是以这样的字来编码的,所以字长决定的最重要的系统参数就是虚拟地址空间的大小。对一个n位的机器而言,虚拟地址的范围是0~n次方-1,程序最多能访问2的n次方的字节。 ####1.3数据大小   计算机和编辑器使用不同的方式来编码数字,比如不同长度的整数和浮点型,从而支持多种数字格式。C语言支持整数和浮点数的多种数据格式。C的数据类型char表示一个单独的字节,它用来存储文本字符串中的单个字符,但实际上也能用来存储整数值。C的数据类型int前还能加上short、long来提供不同长度的整数表示。另外C还支持单精度的float和双精度的double的浮点型数据类型 ####1.4寻址和字节顺序   对于跨越多字节的程序对象,必须确立两个原则:这个对象的地址是什么以及我们如何在存储器中如何对这些字节进行排序。在几乎所有的机器上,多字节对象都被存储为连续的字节序列,对象的地址为所使用的字节序列中最小的地址。 ####1.5表示字符串   C中的字符串被编码为一个null(其值为零)字符结尾的字符数组。每个字符都由一个标准编码来表示,常见的是ASCII字符码 ####1.6表示代码   不同的机器类型使用不同的且不兼容的指令和编码方式。二进制代码很少能够在不同机器和操作系统组合间移植。 ####1.7布尔代数和环   因为二进制是计算机编码、存储和操作信息的核心,所以围绕数值0和1演化出丰富的数学知识体系。将二进制1和0编码为逻辑值TRUE(真)和FALSE(假)能够设计出一种代数研究命题逻辑的属性。   布尔运算~对应逻辑运算NOT,&对应逻辑运算AND,|对应逻辑运算OR。

转载于:https://my.oschina.net/u/3080511/blog/851907

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值