计算机系统基础:程序与运算

布尔代数和基本逻辑电路

真值表:0 1 运算的核心基础
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

无符号数加法器

全加器:
即考虑低位的进位标志符,又考虑当前运算向不向高位进位
在这里插入图片描述
n位加法器:充分解释了一位加法器的设计缘由,低高进位的设计很合理
在这里插入图片描述
零标志ZF = 1,补码特意留下的一种特殊编码
在这里插入图片描述

整数加减运算器

在这里插入图片描述
整数加减部件核心
在这里插入图片描述

在这里插入图片描述

从c表达式到逻辑电路

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

整数的乘运算

两个运算数应该是同一个类型,如果不是会先转化为同一个类型,(常常会自动执行类型提升操作)
在这里插入图片描述
整数乘法可以写表达式判断是否溢出,简单的将乘出来的数再除以一个因子看等不等于另一个因子
在这里插入图片描述

整数的溢出可以在机器数级别上对高位符号判断
在这里插入图片描述
在这里插入图片描述
整数乘指令的溢出判定可以通过对高位结果进行分析,n*n 位会得到2n位
在这里插入图片描述

整数乘法漏洞精讲例题

在这里插入图片描述
变量乘法用移位操作更方便
在这里插入图片描述

整数除法运算

整数除只有一种情况会发生溢出
一般整数除法会向0舍入
整数除0的结果无法表示
在这里插入图片描述
除法指令可能被优化成取反指令
在这里插入图片描述
除法运算时间周期长比乘法周期长,可以整除就用移位
在这里插入图片描述
整数除法舍入的原理:
在这里插入图片描述

一个牛逼的除法运算函数

在这里插入图片描述

浮点加减运算

浮点数运算:规格化格式
阶码可能溢出
尾数溢出,结果可以不溢出
在这里插入图片描述
对几种异常情况的定义
浮点数的一些异常可以被处理,程序可以继续运行
在这里插入图片描述

异常经典案例

在这里插入图片描述
浮点数的对阶过程导致小数很多有效位被舍去
在这里插入图片描述
尾数移位和阶码加减同步保持数据表示的正确性
在这里插入图片描述
在这里插入图片描述

浮点运算的精度

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
float 单精度,有效位数只有24位,所以从int 到float可能会有数据舍入,但是double就不会
在这里插入图片描述

浮点数运算比较经典案例

在这里插入图片描述
浮点数不满足加法结合律
在这里插入图片描述

浮点数运算精度举例(爱国者导弹)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值