数的定点与浮点表示及运算方法
非数值数据的表示
十进制数串的表示
数据校验码

数的定点表示与浮点表示

任何一个数均可表示为:

R:基值。计算机中常用的R可取2、8、16等。
S:尾数。代表数N的有效数字。计算机中一般表示为纯小数。
e:阶码。代表数N的小数点的实际位置。一般表示为纯整数。

定点表示

定点小数

e=0,表示纯小数,约定小数点在符号位与最高数值位之间。
定点小数的格式

定点整数

e=n,表示纯整数,约定小数点在最低有效数值位之后。
定点整数的格式

定点数的表示范围

设数据为N,机器字长为n+1,其中1位符号位,n位数值位。在不同的表示方法下,所能表示的数的范围不同。

原码表示


定点原码数的表示范围

反码表示

定点反码数的表示范围与定点原码数的表示范围相同。定点反码表示的表示范围为:

补码表示


定点补码数的表示范围

移码表示

定点移码数的表示范围与定点补码码数的表示范围相同。其表示范围为:



从数轴中可见,最大负数到最小负数,最小正数到最大正数之间以及 0,为机器数所能表达的数。

机器零:小于机器数最小正数,大于机器数最大负数的数。
正溢出:大于机器数最大正数的数。
负溢出:小于机器数最小负数的数。
因为正溢出和负溢出都表示数的绝对值超出了机器数所能表示的最大绝对值,所以称这类数处于上溢区
因为属于机器零的数均小于机器数所能表示的最小绝对值,所以称这类数处于下溢区

定点数的分辨率

定点数在数轴上的分布是不连续的,定点数的分辨率是指相邻两个定点数之间的最小间隔。

定点机的特点

硬件上只考虑定点小数或定点整数运算的计算机称为定点机
定点机的优点:运算简单,硬件结构比较简单。
定点机存在的问题:
⑴ 所能表示的数据范围小。
⑵ 使用不方便,运算精度较低 。
⑶ 存储单元利用率低。

结论

定点表示计算简单,硬件实现容易。但数据表示范围小,很难兼顾数值范围和精度的要求,不适合科学计算。

浮点表示

浮点表示:是指各个数的小数点位置不是固定不变的,而是可以浮动的。

浮点表示的数据格式

浮点数由阶码和尾数两部分组成。
阶码:表示数的小数点实际位置。
尾数:表示数的有效数字。
尾数的基数R是设计者约定的,用隐含方法表示。通常取 R=2,也可以采用4、8、16进制。
阶码均采用2为基数。
浮点数的表示格式中,包括1位数符、用 n 位纯小数表示的尾数部分、1位阶符和用 m 位纯整数表示的阶码部分。

浮点数的规格化



浮点数采用规格化表示方法的目的:
⑴ 提高运算精度,充分利用尾数的有效数位,尽可能占满位数,以保留更多的有效数字。
⑵ 保证浮点数表示的唯一性。

规格化数的定义

补码表示的规格化数

浮点数的表示范围

要求浮点数的表示范围,实质是求出浮点数所能表示的最小负数、最大负数,最小正数和最大正数这四个典型数据。

浮点数能正确表达的数:
处于0以及处于最大负数到最小负数(负数区)之间、最小正数到最大正数(正数区)之间的数。
机器零:处于最大负数和最小正数(下溢区)的浮点数,由于其绝对值小于可表示的数值,在计算机中通常作为“0”来处理,称为机器零。
正溢出:数据大于最大正数。
负溢出:数据小于最小负数。
如果数据的绝对值大于机器所能表示的数值,计算机将做溢出处理。

设浮点数的格式为:

阶码和尾数均用原码表示时的浮点数表示范围

阶码和尾数均用补码表示时的浮点数表示范围

阶码用移码,尾数用补码表示时的浮点数表示范围

浮点表示中阶码与尾数位数的选择
在浮点数表示中
尾数的位数决定了数据表示的精度。增加尾数的位数可增加有效数字位数,即提高数据表示精度。
阶码的位数决定了数据表示的范围。增加阶码的位数,可扩大数据表示的范围。
因此当字长一定的条件下,必须合理地分配阶码和尾数的位数,以满足应用的需要。

为了得到较高的精度和较大的数据表示范围,在很多机器中都设置单精度浮点数和双精度浮点数等不同的浮点数格式。
单精度浮点数就是用一个字长表示一个浮点数。
双精度浮点数是用二个字长表示一个浮点数。