定点运算学习笔记

一. 移位运算

1.移位运算时为了乘除法做准备
2.移位的机器用语:移位移动的是数,小数点不动
3.移位的规则
(1)逻辑移位:无符号数
逻辑左移和逻辑右移,移出的空位都用0来补
(2)算术移位:有符号数
在这里插入图片描述
难点:负数移位后补码:
1.首先清楚补码的定义:负数的补码等于它的原码自低位到高位遇到的第一个”1”的位置为a, a的右边的0保持不变,a的左边数值位全部取反,符号不变
2.根据定义解决负数移位后补码添加代码
(1)如果左移,那么原码最低位添加0,补码跟原码保持一致,也应该添加0
(2)如果右移,那么原码最高位添加0,补码跟原码保持一致,添加0的取反

二. 加法运算

1.加法运算时补码的运算
在这里插入图片描述
整数的模为2n+1(n为总的位数=数值位+符号位)
小数的模为2m (m为符号位数)

2.练习
在这里插入图片描述

三. 减法运算

1.减法运算方式
在这里插入图片描述
整数的模为2n+1(n为总的位数=数值位+符号位)
小数的模为2m(m为符号位数)
2.练习
在这里插入图片描述

四. 加减法溢出

1.小数补码溢出
在这里插入图片描述


小数的补码范围为-1~+(1-2-n
x+y>1,超出补码表示的范围,算出来的结果是错误的


2.整数补码溢出
在这里插入图片描述


整数的补码范围为 -2n ~ +(2n-1) n为数值位
A-B=138<-128,超出补码表示的范围,算出来的结果是错误的


五. 溢出判断

1. 溢出:运算的结果超出机器数(补码)的表示范围
(1) 两个异号数相加或者两个同号数相减,不会发生溢出
(2) 两个同号数相加或者两个异号数相减,有可能发生溢出
2. 一位符号位判断溢出:参加操作的两个数(减法时即为被减数和”求补”以后的减数)符号位相同,运算后的结果的符号与原操作数的符号不同,即为溢出
在这里插入图片描述
在这里插入图片描述

3. 双符号位
在这里插入图片描述

六. 乘法运算过程

  1. 分析笔算乘法与计算机处理乘法
    在这里插入图片描述
  2. 笔算乘法的改进(改进成计算机可以运算的方式)
    (1)运算中的展示
    在这里插入图片描述
    (2)乘法运算过程(寄存器中存储的数据)
    运算过程中,乘法运算的结果逐渐占领乘数部分寄存器
    在这里插入图片描述
  3. 原码一位乘法(一次只乘一位)
    练习:(-14/16) * (-13/16)
    在这里插入图片描述
  4. 补码校正法
    (1)补码一位乘法运算的规则
    在这里插入图片描述
    (2)被乘数符号任意,乘数符号为正

推理:
1 当被乘数为正,x和y的补码跟原码一样,跟原码一位乘一样([X][Y]=[XY]


2 当被乘数为负
在这里插入图片描述
结论:当乘数符号为正,[X]补*[Y] 补=[X*Y]补,和原码相乘一样,但是加法和移位按照补码的规则来运算


(3) 被乘数符号任意,乘数符号为负


推理:
在这里插入图片描述


结论:当乘数符号为负,乘数[y]补,去掉符号位,操作同(乘数符号为正),最后结果加[-X]补,校正


(4)练习 -0.10110.1101
在这里插入图片描述
(5)练习 0.1101
(-0.1011)
在这里插入图片描述
5. 补码比较法
(1)推导过程
在这里插入图片描述
在这里插入图片描述
(2)练习
在这里插入图片描述

七. 除法运算过程

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值