返回

计算机组成原理(day2)

发布时间:2022-12-14 06:54:56 334
# 数据

计算机组成原理(day2)_补码

整型

移码

定义:移码是补码符号位取反。

计算机组成原理(day2)_取模_02

移码以unsigned类型,由上到下真值增大。

计算机组成原理(day2)_移位乘法_03

原反补移码的作用

两正数二进制相加无需变化

一正一负需转化为减法,但硬件设计难以实现,可以通过取模运算(取余)实现。

实例

十点的时钟拨至七点。

计算机组成原理(day2)_移位乘法_04

在取模12的情况下,-3与+9运算无区别,最终都得到了余数7。

10-3 = 7,10+9 = 19 19/12 = 1.........7,可以认为-3与9在模12的情况下等价。

计算机以整数的补码形式存储就是为了以加法实现加减运算。

移位运算

算数移位

计算机组成原理(day2)_取模_05

计算机组成原理(day2)_取模_06

右移时,右移出的位数为0,则有效数字(精度)不变,如果不为0,则会丢失精度。

计算机组成原理(day2)_移位乘法_07

补位规则满足:右移除以2,左移乘以2

逻辑移位

计算机组成原理(day2)_补码_08

计算机组成原理(day2)_取模_09

加减法与溢出

正负整数在计算机内均采用补码的加法运算实现。

溢出判断

原理

计算机组成原理(day2)_移位乘法_10

方法

计算机组成原理(day2)_取模_11

乘法为与运算,加法为或运算。

符号扩展

计算机组成原理(day2)_补码_12

小节

计算机组成原理(day2)_补码_13

乘法与除法

原码的移位乘法

计算机组成原理(day2)_移位乘法_14

总结重点

​1)数值位运算

2)乘数末尾为0,乘积高位加0后右移(先加后移)乘数末尾为1,乘积高位加被乘数后右移(补0)

3)步骤2)后进行右移(补1)

5)当乘数符号位移动至乘积低位时终止

4)最终补上符号位​(异或)

补码的移位除法

思路与乘法类似,最终转化为加减交替的方法实现。

C语言中的强制类型转换

计算机组成原理(day2)_移位乘法_15

数据的存储与排列

大端存储

实例

1101  1001  0001

高位存储在低地址位,低位存储在高地址位。

每次向内存中存储时,按照地址由低到高,先存储高位,再存储低位。(压栈)

每次从内存中取出时,按照地址由低到高,先取出高位,再取出低位。(出栈)

大端存储利于人类阅读,但是每次从低地址都会取出高位,不利于机器计算。

计算机组成原理(day2)_取模_16

浮点型

计算机组成原理(day2)_补码_17

此部分可以移步至C语言相关部分,关于浮点数标准的存储。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
[c++11新特性]12-类型萃取 2022-12-14 06:27:59