二、数据的表示和存储
- 首先,介绍进位计数制和编码的基本概念;
- 然后,介绍定点数的编码表示,在此基础上介绍带符号整数和无符号整数的表示;
- 接着,介绍浮点数的编码表示,主要包括IEEE 754单精度和双精度浮点格式标准;
- 随后介绍逻辑值、西文字符和汉字等非数值数据的编码表示;
- 最后,介绍数据的宽度和存储。
2.1 十进制数和二进制数
2.2 进制数之间的转换
总结:
- 为了解决数据中小数点的表示问题
- 可以在计算机中用固定小数点的位置定点数 或 浮点数表示数据。
- 在浮点数中通过一个定点整数来指定小数点位置,通过定点小数来指定有效数字。即用两个定点数来表示一个浮点数。
- 因此数值数据的表示实际上就是定点数的编码表示问题
2.3 定点数的编码方式【原码、移码、补码、反码(少用)】
2.3.1 原码
2.3.2 移码
2.3.3 补码
- 例子
- 变形补码
- 案例
正数(符号为0):原码和补码一致
负数(符号为1):补码=原码数字取反+1
负数的补码简便方法是:从右到左遇到第一个1的前面各位取反,例如:
2.4 c语言中的整数表示
2.4.1 无符号整数
2.4.2 带符号整数【通常计算机计算的】
2.4.3 c语言程序中的整数——案例
2.4.4 c语言程序中的整数(续)
2.5 浮点数的表示
- 上一节:计算机中的整数是如何表示的(无符号整数和带符号整数)
- 计算机也能处理实数,像科学计数法一样,任何实数都能用2个定点数表示。
- 用一个定点小数表示有效数字称为尾数,用一个定点整数表示小数点位置称为指数或阶。
- 计算机中是如何通过一个定点小数和一个定点整数来组成一个浮点数,从而用一个浮点数来表示实数?
2.5.1 浮点数表示
2.5.2 浮点数的表示范围
2.5.3 IEEE 754规格化数的表示浮点数
现在所有通用计算机都采用IEEE 754表示浮点数
2.5.4 IEEE 754特殊数的表示
2.6 非数值数据的编码表示
2.6.1 逻辑数据的编码表示
2.6.2 西文字符的编码表示
2.6.3 汉字的编码表示
2.6.4 多媒体数据的编码表示
2.7 数据宽度和存储容量的单位
前面数值数据和非数值数据的表示,所有数据在计算机中都是0/1序列,不同类型的数据,其数据的宽度是不一样的,例如short型(16位)、float(32位)、double(64位)、int(32位)
那么主存、磁盘等存储器的容量进行度量,在计算机中数据长度和存储容量的单位有那些?
2.7.1 数据的基本宽度
2.7.2 数据通路的宽度
2.7.3 数据量的度量单位
2.7.4 程序中各数据类型的宽度
2.8 数据存储时的字节排列-大端方式/小端方式
2.8.2 案例