计算机组成原理复习:第二章 数据表示
实际上,这章讲的是数据是怎么编码的。大部分时候,都是在讲二进制编码。本章编码不特别说明都是在指二进制下的编码。
数值
数值是运算中最常见的成分。
非得分类的话,数字可以分成整数和小数。但小数的表示方法中也是用到了整数的。因此本章先介绍整数怎么表示。
原码 补码 反码
无符号的数直接用二进制表示。
有符号的数因为有正负,所以编码的第一个任务就是把正数和负数区分开来。如果把最高位当成符号位,0表示正1表示负,后面当成无符号数表示,那么这种表述法就是原码表示。反码和补码都是对原码的负数表示进行更改。反码是把负数的每一位取反,补码是把原码的每一位取反加一。补码和反码的原理都是取模,把一个模意义下很大的正数视为一个负数。
其中,补码的特点是0只有一种表示方法,从而负数可以多表示一个数;原码和补码都有一个+0一个-0.
定点表示
定点可以表示小数和正数。
定点小数的第一位是符号位,小数点固定在第一位后面。也就是说,所有数是零点几。定点整数第一位也是符号位,小数点固定在最后一个数后面,和之前讲的整数表示完全相同。
定点小数根本不实用。但是它在后面会被利用到。
浮点表示
计算机中,小数都用浮点表示法,即小数点的位置可以移动。在这种表示法下,一个数的数位被拆成了两部分:一部分是指数,称为阶码;一部分是底数,称为尾数。