计算机组成原理与体系结构----数据表示

  • 数据的表示
  • 计算机结构
  • Flynn分类法
  • CISC与RISC
  • 流水线技术
  • 存储系统
  • 总线系统
  • 可靠性
  • 校验码

 

  • 数据的表示

1、进制

(1)m进制转十进制,使用按权展开法,具体方式为:将m进制的每一位数值用m的n次方表示,n与当前位和小数点之间的位数有关。当当前位位于小数点左侧时,n值是当前位和小数点之间数字的个数;当当前位位于小数点右侧时,n值是负数,其绝对值是当前位和小数点之间数字个数加1。

例子:

二进制转十进制:11011.011 = 1 \times 2^{4} + 1 \times 2^{3} + 0 \times 2^{2} + 1\times 2^{1} + 1\times 2^{0} + 0\times 2^{-1} + 1\times 2^{-2} + 1\times 2^{-3}

七进制转十进制:613.02 = 6\times 7^{2}+1\times 7^{1}+3\times 7^{0}+0\times 7^{-1}+2\times 7^{-2}

(2)十进制转m进制,使用短除法,具体方式为:将十进制数除以m获取每次的余数,将余数按逆向排序的数字即为十进制数对应的m进制数。

例子:

十进制转二进制:97转2进制

97/2=48余1

48/2=24余0

24/2=12余0

12/2=6余0

6/2=3余0

3/2=1余1

1/2=0余1

所以,97转2进制是1100001

(3)二进制与八进制和十六进制之间的转换

二进制数从右向左每3位转一位八进制,左侧不足3位的用0补充;

二进制数从右向左每4位转一位十六进制,左侧不足4位的用0补充。

例子:

10 001 110 => 010 001 110 => 216

1000 1110 => 8E

(4)八进制与十六进制之间的转换,可通过二进制实现。

2、编码

(1)数据的编码有原码、反码、补码、移码。

(2)数据编码的取值范围:

编码 取值范围
原码 -(2^{n-1}-1) ~ 2^{n-1}-1
反码 -(2^{n-1}-1) ~ 2^{n-1}-1
补码 -2^{n-1} ~ 2^{n-1} -1

补码比原码和反码表示的范围大一个数,是因为在0数字上,原码和反码表示0占用了2个二进制数,而补码占用了1个二进制数。

0的原码 0000 0000 和 1000 0000

0的反码 0000 0000 和 1111 1111

0的补码 0000 0000 和 0000 0000,即0000 0000

3、浮点数及其运算

(1)浮点数表示

N = M \times R^{n}

其中,M称为尾数、R是基数、n是阶数(指数),M的取值范围1.0 <= M < 10。

(2)浮点数的计算

对阶 => 尾数计算 => 结果格式化

例子:1.0 \times 10^{3} + 1.19 \times 10^{2}

步骤1:对阶

把相加的两个数的阶数按高阶转换: 1.0 \times 10^{3} + 0.119 \times 10^{3}

步骤2:尾数计算 1.119 \times 10^{3}

步骤3:结果格式化,结果符合浮点数格式,步骤省略。

如果在步骤1中阶数向低阶转换,10 \times 10^{2} + 1.19 \times 10^{2} = 11.19 \times 10^{2} = 1.119 \times 10^{3},在最后一步仍需要将阶数转成高阶,步骤繁琐了。因此在步骤1中将阶数转为高阶。

你可能感兴趣的:(软考)