计算机组成原理——数字
计算机中数的表示
计算机的运算方法
运算器的设计
第六章 计算机的运算方法
6.1无符号数和有符号数
一、无符号数
没有正负号
寄存器位数,反映无符号数的表示范围
如8位,表示范围00000000—11111111 即0–255
二、有符号数
有正负号,保存两部分,符号部分和数值部分
1.机器数与真值
保存在计算机当中的这些数叫机器数,真值就是平时用的数据的真实的值
真值:带符号的数 机器数:符号数字化的数
如真值:+0.1011
机器数:
在计算机当中没有专门的硬件表示小数点,计算机中的小数点都是以约定的方式给出
如真值:-1100
机器数:
2.原码表示法
规则:机器数的最高一位表示符号,“0”表示正号;“1”表示负号,后面各位用数的绝对值表示。
定点整数的原码形式为X0X1X2……Xn
X0是符号位
X为真值
N为整数的位数
原码表示整数,其实是带符号的绝对值表示
定点小数的原码形式为X0X1X2……Xn
X0为符号位
X为真值
这个数据存储在计算机当中的话,无论是整数的逗号还是小数的小数点,都是不需要存储的,仅仅是人阅读方便
原码表示法优缺点:
简单直观
同样是加法的过程,如果用源码表示的话,可能是做加法也可能是做减法(有一个数为负,即为做减法),这对运算器来说太麻烦
能否只做加法?
找到一个与负数等价的正数 来代替这个负数,就可使 减—>加
3.补码表示法
一个负数加上“模”即得负数的补数
一个正数和一个负数互为补数时,
它们绝对值之和即为模数
整数的补码表示法: