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

在这里插入图片描述

定点数

定点数的表示

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

在这里插入图片描述

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

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

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

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

在这里插入图片描述
根据补码的表,我们就可以得到计算机内部使用的都是补码 +127 ~ -128
在这里插入图片描述

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

使得大小变得更加直观

在这里插入图片描述


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

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

移位运算

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

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

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

在这里插入图片描述

  • 补码和反码
    当是整数的时候 都补0
    当时负数的时候
    补码高位补1,低位补0
    反码都补1
    在这里插入图片描述

加减运算

  • 原码的加减:
    在这里插入图片描述
    -15 + 14 = - |15-14|
    由于原码的运算比较复杂,所以我们都是用补码进行运算的

  • 补码的加减法
    补码的加减法不需要考虑符号位,
    在这里插入图片描述

如果补码是负数 : 快捷方法根据补码得到原码 :
最右边的1为边界,1左边的全部取反,符号位保持不变就得到了原码

溢出判断

8位数能表达的范围只有-128 ~ 127 (其中一位是符号位 2^7 = 128)
在这里插入图片描述

在这里插入图片描述

方法一: 一位符号位判断

在这里插入图片描述

一位符号位+数据位进位

数据位最高位向符号位进位 : C1
符号位向更高位进位 : Cs
只要C1和Cs不同,则一定溢出
在这里插入图片描述

双符号位 - 本质是模4补码 ⭐

双符号位的结果 第一位是本应得到的正确正负,第二位是实际得到的正负
在这里插入图片描述


乘除

强制类型转换

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值