信息的表示和处理 第三周9.28~10.4

一、三种重要的数字表示

无符号:编码基于传统的二进制表示法,表示大于或者等于零的数字。

补码:编码是表示有符号整数的最常见的方式,有 符号整数就是可以为正或者为负的数字。

浮点数:编码是表示实数的科学记数法 的以二为基数的版本。

二、信息存储

机器级程序将存储器视为一个非常大的字节数组, 称为虚拟存储器。存储器的每个字节都由一个唯一的数字来标识,称为它的地址,所有可能地址的集合称为虚拟地址空间。

1.十六进制表示法

2.字

每台计算机都有一个字长,指明整数和指针数据的标称大小。因为虚拟地址是以这样的一个字来编码的,所以字长决定的最重要的系统参数就是虚拟地址空间的最大大小。对于一个字长为w位的机器而言,虚拟地址的范围为0~2w-1,程序最多访问2w个字节,计算机多为32和64位。

3.字节顺序

小端法——在存储器中按照从最低有效字节到最高有效字节的顺序存储对象。

大端法——从最高有效字节到最低有效字节的顺序存储。

小端法:高对高,低对低。

大端法:高对低,低对高。

4.布尔代数

与或非,取反运算。

用0、1表示真假,以研究逻辑推理的基本原则。

5.C语言中的运算
位级:将十六进制的参数扩展成二进制表示并执行二进制运算,然后再转换回十六进制。

逻辑:逻辑运算符 “||、&&、!”分别对应于命题逻辑中的OR、AND、NOT运算。

移位:对于无符号数据,右移必须是逻辑的。而对于有符号数据,算术的或者逻辑的右移都可以。

6.整数表示

信息的表示和处理 第三周9.28~10.4_第1张图片

信息的表示和处理 第三周9.28~10.4_第2张图片

7.无符号数与有符号数转换

强制类型转换的结果保持位值不变,改变解释这些位的方式。

处理同样字长的有、无符号数之间相互转换的规则:数值可能会变,但是位模式不变。(底层的位表示保持不变)

8.IEEE浮点表示

(1)特点

符号:s决定这个数是负数(s = 1)还是正数(s = 0),而对于数值0的符号位解释作为特殊情况处理。

尾数:M是一个二进制小数,它的范围是1 ~ 2-ε,或者是0 ~ 1-ε。

阶码:E的作用是对浮点数据加权,这个权重是2的E次幂(可能是负数)。

(2)两种不同的浮点数据类型

float和double

(3)浮点数的舍入

向偶数舍入(默认)、向零舍入、向下舍入、向上舍入。

三、学习总结

    在上周的学习中,我了解到计算机是由处理器和储存器子系统组成的。在这一章我学习了用各类方法来表示基本的数据类型,再操作这些数据。在学习中明白了编译器如何将C程序翻译成这样的指令。在接下来学习的几种实现处理的方法,帮助我们更好的了解硬件资源是如何被用来执行的。

  在了解了这些编译器和机器级代码,在今后的c程序编写时就可以获得最高性能。在掌握了这些技术后我们将会写出安全、可靠的充分利用计算机资源的程序。

你可能感兴趣的:(信息的表示和处理 第三周9.28~10.4)