计算机组成原理 -定点数与浮点数

计算机组成原理 -定点数与浮点数

定点数

定点数的表示

无符号数 : 没有符号位,全是数值位

计算机组成原理 -定点数与浮点数

有符号数 (原码,补码,反码,移码)

机器数 : 实际运算都是有符号数
计算机组成原理 -定点数与浮点数正负值变成原码(机器数) , +换成0 ,- 换成1
计算机组成原理 -定点数与浮点数 原码缺点 :有符号数相加很麻烦,
需要引入减法,但是我们只有一个加法器
计算机组成原理 -定点数与浮点数- 怎么才能只用一个加法,实现有符号数的相加呢 – 补码的概念!
有符号数是存在周期的概念的,这个周期就是模 ,取反+1的本质是 加上周期后的结果 和取反+1的结果是一样的

  • 原码变到补码 : 负数符号位不变,数值位取反+1
    ∴补码是用来运算的 , 补码的运算结果 == 原码有符号数复杂的运算结果

  • 补码到他的相反数 : 连着符号位取反+1

计算机组成原理 -定点数与浮点数
根据补码的表,我们就可以得到计算机内部使用的都是补码 +127 ~ -128
计算机组成原理 -定点数与浮点数

移码 : 在无符号数的基础上增加一个偏移值

使得大小变得更加直观

计算机组成原理 -定点数与浮点数

定点数的运算 : 小数是怎么存放的呢?

定点: 默认位置是小数点(隐含条件)
根据定点位置不同分为 定点小数 定点整数

移位运算

  • 进制数:
    左移相当于×进制数,移几位就乘几次进制数 (进制数^n)

  • 原码的移位运算
    有符号数的移位:算术移位
    符号位不移动,数值位移动,舍弃溢出的(会造成大小巨大改变)

无符号数的移位 是补零,舍弃溢出的

计算机组成原理 -定点数与浮点数

  • 补码和反码
    当是整数的时候 都补0
    当时负数的时候
    补码高位补1,低位补0
    反码都补1
    计算机组成原理 -定点数与浮点数

加减

溢出判断

乘除

强制类型转换