运算方法和运算器

计算机内部的信息分为:控制信息数据信息

  • 控制信息:指令
  • 数据信息:
    • 数值数据:有确定的值,可表示大小(进位计数制、小数点、符号表示)。
    • 非数值数据:无确定的值,分为逻辑数据、字符数据。

数值数据

数制的转换

R进制转十进制

将各位数字与它的权相乘,其积相加,和数就是十进制数。

\[\sum_{i=n-1}^{-m} N_i R^i\]

十进制转R进制

  • 整数部分的转换(除基取余法)
  • 小数部分的转换(乘基取整法)

二、八、十六进制转换

  • 二进制转八、十六:以小数点为中心,向左右两边延伸。八进制按三位一组划分,十六进制按四位一组划分。
  • 八、十六进制转换为二进制:将每一位八(或十六)进制数用三位(或四位)二进制数代替即可。

小数点表示

  • 定点表示法:小数点的位置固定不变
    • 定点小数:小数点固定在有效数字的最左边,该数为一纯小数。
    • 定点整数:小数点固定在有效数字的最右边,该数为整数。
  • 浮点表示法:见下面的详细讨论

符号表示

  • 原码:最高位表示符号(0 为正,1 为负),其余位不变
  • 反码:符号位同原码;尾数部分正数不变,负数的尾数为原码的取反
  • 补码:$[x]_补=(M+x)\text{mod}M$($M$ 为最大能表示的数),正数同原码,负数则在反码的基础上加 1
  • 移码:符号位与补码相反,尾数部分与补码相同,注意 0 的编码是 1000...
  • 浮点数:见下面的详细讨论

浮点数

浮点数可看作科学计数法,包括 $E$ 位阶码(即指数部分)和 $M$ 位尾数(即小数部分) (我们用 $E,M$ 表示包括符号位,用 $e,m$ 表示不包括符号位),阶码默认都是以 $2$ 为底数。

  • 补码表示的浮点数:阶码和尾数都是补码,那么,其表示的范围为:
    • 最大正数:$(1-2^{-m})\times 2^{2^e-1}$
    • 最小正数:$2^{-(m-1)}\times 2^{-(2^e-1)} $
    • 0
    • 最大负数:$-2^{-m} \times 2^{-(2^e-1)}$
    • 最小负数:$(-1) \times 2^{2^e-1}$

非数值数据