计算机组成原理-运算方法和运算器(第二章)

数据与文字的表示方法

一、数据格式

选择计算机数据表示格式时,应当考虑如下因素:

  • 要表示数的类型(小数、整数、时数或复数)。
  • 可能遇到的取值范围。
  • 数值的精确度。
  • 数据存储和处理所需硬件代价。

综上,计算机常用两种格式存储:定点格式浮点格式
定点数:容许的数值处理范围有限,但是处理硬件简单。通常将数据表示为纯整数或纯小数。
浮点数:容许的数值处理范围较大,但是处理硬件复杂

  1. 定点数的表示方法
      一个字,最高位是符号位,后面全是量值(尾数)。
  2. 浮点数的表示方法
      浮点数由阶码和尾数表示,他们都带符号,按IEEE标准:一个字(就是一串二进制数),最高位是符号位,接下来是带符号的阶码,再接下来是尾数,共同构成一个浮点数。
  3. 十进制数串的表示方法
      主要有字符串形式,一个字节存放一个十进制的数位或符号位;压缩的十进制数串形式,一个字节存放两个十进制的数位。两种方式要表示一个十进制数都要使用多个字节,需要给出该数在主存中的起始地址和位数(串的长度)。
      十进制数串用半个字节(4个比特位)表示一个数位,有很多编码方案,比如BCD码,ASCII码低四位,8421有权码(就是十进制数转换成二进制数),还有一些无权码等等。
二、数的机器码表示

  为了方便运算器处理二进制数的符号问题,计算机有几种编码方式,成为机器数机器码。(下面所说的表示法都是针对二进制的整数、小数、正数、负数而言的)

  • 原码表示法:最高位表示符号位,其余位置不变。
  • 反码表示法:最高位符号位不变,其余位置取反。
  • 补码表示法:原码的反码再加1,(补码有个对于谁的补码的概念,例如钟表是对于12的补码,计算机中一般是对于2的补码)。
  • 移码表示法:补码的符号位取反,通常用于浮点数的阶码。
三、其他表示方法
  • 字符与字符串的表示: ASCII码,7位加1位偶校验位(最高位置0)共8位,一个字节。
  • 汉字的表示:包括输入编码、汉字内码和汉字字模码。
  • 校验码:分为检错码和纠错码。
       1. 检错码,最简单且广泛应用的检错码是一位校验位的奇偶校验。奇偶校验是把一个字X的所有位按位加,只有X有奇数个1的时候,结果才为1,到目的地之后,再做一次按位加,和校验位比较,若不同,说明信息有错。奇偶校验可提供单错误检测,无法检测多错,更无法识别错误信息位置。
       2. 纠错码,常用纠错码有海明码、循环码、法尔玛等,只要使用足够的校验位,就可以达到任何要求的错误检测和纠错水平,校正字长(n)、校验位数®和验错位数(n+r),之间有个关系(r要大于以2为底n的对数),(书上详细讲了循环校验码如何利用模二运算进行纠错,这里略过,)。

定点加法、减法运算

   这一章后面讲了定点数、浮点数的运算方法和运算器,非常接近硬件,先略过,有需要再详细看。

你可能感兴趣的:(基础原理-计算机组成原理,计算机组成原理,编码)