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

2.1 数据与文字的表示方法


1. 浮点表示法(IEEE754标准)

(1)32位浮点数:

x = (-1)^s * (1.M) *2^(E-127)  e=E-127

(2) 64位浮点数:

x = (-1)^s * (1.M) *2^(E-1023)  e=E-1023

其中,s:符号位,M:尾数,E:阶码,*:乘。

s = 0:表示正数,s = 1:表示负数。

在用浮点数表示时,如果是转换成二进制,会出现乘法,有个小公式:一个二进制小数乘以2^n = 原始数小数点左移n位(n是正整数)。

2. 数的机器码表示

(1)原码表示法:

正数符号位为 0 ,负数符号位为 1。

原码机器中有+0 和 -0之分,所以,[+1]原码 = 000...000,[-1] = 100...000,第一位为符号位。

(2)补码表示法:

正整数补码=原码。

负整数补码 = 符号位:1 + 数值位取反加1。

(3)移码表示法:

移码通常用于表示浮点数的阶码,移码 = 补码符号位取反。

2.2 定点加法和减法运算

(1)补码加法

[x]补 + [y]补 = [x+y]补   (mod 2^(n+1))

补码的加法运算,符号位一定要参与运算,超过 2^(n+1)的进位要丢掉。补码减法转换为加法运算后也是一样的。

(2)补码减法

[x-y]补 = [x]补 - [y]补 = [x]补 + [-y]补

(3)溢出的检测方法:

双符号位检测:符号位变为两位参与运算。

正数符号位:00,负数符号位:11。

运算结果符号位为 01:表示正溢出/上溢。

运算结果符号位为 10:表示负溢出/下溢。

原文地址:https://www.cnblogs.com/ZZG-GANGAN/p/12392457.html