计算机组成原理定点加减乘除运算知识点总结,计算机组成原理之计算篇

本文对学习内容做一个记录,方便后期对知识点复习和补充。

课程:计算机组成原理、操作系统、计算机网络

e07457e2ed926b843df0325ef4010f9b.png

进制运算的基础

进制概述

进位制是一种记数方式,亦称进位记数法或者位值计数法

有限种数字符号来表示无限的数值

使用的数字符号的数目称为这种进位制的基数或底数

二进制运算的基础

(整数)二进制转十进制:按权展开法

b5d6d56bf69b644d359a4533404a6b99.png

(整数)十进制转换成二进制:重复相除法

eb1e87a263fbd9cba9de1328e26aacb9.png

(小数)二进制转换成十进制:按权展开法

c06adc0c1487a3ab4d47fa688a497b1a.png

(小数)十进制转换成二进制:重复相乘法

e87a8bc54fe19b0186b2b61d255f8988.png

有符号数与无符号数

原码表示法

a5224624be30e1e10bb7255881975539.png

使用0表示正数,使用1表示负数

规定符号位位于数值第一位

表达简单明了,是人类最容易理解的表示法

原码表示法的缺点

495da57c928a8c707a71901c19e3bb66.png

二进制的补码表示法

5af88414a4de7203d7a96f720882fb8d.png

例子

cc2fe6e20775bbde96cddffa5f01e1c2.png

de9f59896f926bcc908ee7df257daa52.png

引进补码的目的

减法运算复杂,希望找到使用正数替代负数的方法

使用加法替代减法操作,从而消除减法

但是计算补码的过程中,还是使用了减法

二进制的反码表示法

反码的目的是找出原码和补码之间的规律,消除转换过程中的减法

976dc3f475110dcdee69bf38ae26eff6.png

原码、补码、反码规律

53901c219533eba5b83dc3355cc64ef8.png

定点数与浮点数

定点数的表示方法

小数点固定在某个位置的数称之为定点数

纯小数和纯整数

如果数字不是纯小数,也不是纯整数,则需要乘以比例因子以满足定点数保存格式

86ef0aa090d212fd85d9dc3bb284366a.png

浮点数的表示方法

计算机处理的很大程度上不是纯小数或纯整数

数据范围很大,定点数难以表达且定点数不够灵活

因此需要学习了解浮点数

浮点数的表示格式

6c06e864e15a3c6d058f79a13c2f6c00.png

S:尾数(尾数必须使用纯小数)

r:基数

j:阶码(阶码为二进制)

浮点数的表示范围

假设阶码数值取m位,尾数数值取n位

上溢:这个数绝对值太大了。浮点数无法表示

下溢:这个数绝对值太小了。浮点数无法表示

单精度浮点数:使用4字节、32位来表达浮点数(float)

双精度浮点数:使用8字节、64位来表达浮点数(double)

7af67850f7515d3ef7a9e3fe12499ac0.png

浮点数的规格化

尾数规定使用纯小数

尾数最高位必须是1

定点数与浮点数的对比

当定点数与浮点数位数相同时,浮点数表示的范围更大

当浮点数尾数为规格化数时,浮点数的精度更高

浮点数的运算包含阶码和尾数,浮点数的运算更为复杂

浮点数在数的表示范围、精度、溢出处理、编程等方面均优于定点数

定点数在数的运算规则、运算速度、硬件成本方面优于浮点数

定点数的加减法运算

加法操作

9b06d9301257da6926c1536e7c08dfca.png

例子

0b0fc5515eea58893c6e8394877a413d.png

3f8287215e283117cc2eecd62295eb4c.png

判断溢出

ed3b5e44ffec439eba0ef12c1e832592.png

双符号位判断法

单符号位表示变成双符号:0=>00, 1=>11

双符号位产生的进位丢弃

结果的双符号位不同则表示溢出

d5e66dfecae35e644c5a64f075b882a6.png

减法操作

150a625c95dc0f43c96c2658963d94ec.png

浮点数的加减法运算

86223994991b1db1331bb1702e230986.png

对阶

对阶的目的是使得两个浮点数阶码一致,使得尾数可以进行运算

浮点数尾数运算简单

浮点数尾数实际小数位与阶码有关

阶码按小阶看齐大阶的原则

24bedb57cb89ff05d015ae69fb7cff7f.png

尾数求和(与定点数相同)

f77f4b716bfb0e813c7d74c7f9b87b7e.png

尾数规格化

对补码进行规格化需要判断两种情况:S>0和S<0

ea9ed288dadcb882b7c00affff68cf5c.png

左移规格化

2e271014a71aa28afec7aa69ea1d9734.png

右移规格化

双符号位不一致下需要右移

右移的话则需要进行舍入操作

舍去1则需要加1,舍去的是0则不进行加1操作

定点运算双符号不一致为溢出,浮点运算尾数双符号位不一致不算溢出,因为可以进行右移规避

浮点运算主要通过阶码的双符号位判断是否溢出,如果规格化后,阶码双符号位不一致,则认为是溢出

e54be9b8dae096d5e95c18da4bae4be6.png

浮点数的乘除法运算

运算过程

ec5d88271af093cf8a87275c05cf9b38.png

浮点数的乘法

59608db25d0334e8fc047f3c156aa199.png

浮点数的除法

24a252cb4d81eb19a80e928344ae81c7.png

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值