计算机组成原理 先占个大坑
数据格式分为:
一.定点格式,即约定机器中所有的数据的小数点的位置是固定不变的.
二.浮点格式,即小数点位置可变,表示范围较大
一.定点数:
用一个
n+1
位字来表示一个定点数
x
,其中一位
当数据为纯小数时,小数点即在
xn
和
xn−1
之间的位置
当数据为纯整数是,小数点即在最末尾
x0
后
用数值 0 和 1 分别代表正号和负号
显然表示范围为
0≤|x|≤1−2−n
右端点为各位均为 1 情况
二.浮点数:
浮点表示法:
任意一个二进制数
其中 M 称为浮点数的尾数,是一个纯小数, e 是比例因子的指数,称为浮点数的指数,是一个整数, 2 称为基数
如上图所述,另外有IEEE754标准
规格化表示
由于一个数字可能有多个浮点数表示方法,所以需要有规格化表示:
即:
当尾数的值不为 0 时,尾数域的最高位应为 1
否则修改阶码同时左右移动小数点
数的机器码表示
介绍编码的几种表示方法:
原码,补码,反码,移码
同时真值和机器码相对应
下面
x
均为真值
①原码
定点整数的原码表示法:
xn
符号位:0 代表正数, 1 代表负数
易得有+0 和-0两种表示方法
[+0]原=0000...0
[−0]原=1111...1
但原码的加法运算复杂,不易于使用
②反码
包括符号位全部取反
很简单的先鸽了
③补码
补码表示法解决了原码的加法运算的不足
补码的思路可以借鉴钟表,取模运算
-3=+9(mod12)
因此很好理解
2n+1 相当于mod
补码→真值
式子中 xn 取负是因为 0 代表正, 1 代表负
0只有一种表示方法,即为均为 0
转化方法:
一个正整数,其原码,反码,补码表示法均相同,符号位为0
一个负整数,其符号位均为1,用二进制表示的数位值各不相同:
①原码符号位为1 不变,整数的每一位二进制数位求反得到反码
②反码符号位为1 不变,反码数值位最低位+1,得到补码
即
①除符号位外各位取反
②+1
④移码
移码通常用于表示浮点数的阶码,如IEEE754
移码的传统定义是:
[e]移=2k+e,2k>e≥−2k
其中,e为真值,2^k是固定偏移值常数.
表示方法:
e
=-10101
逗号不是小数点,而是区分出符号位.与原码,补码,反码不同,符号位0代表负数,1代表正数
数值位与上述几种相同