包含负数的二进制补码的加减运算
本篇文章是我的第一篇博客,用于帮助那些和我一样处于迷茫中的朋友。如若对你有帮助的话请点个赞。如若引用还请注明出处!
读这篇文章之前,你必须对原码 反码 补码有所了解。
关于这些推荐一篇大佬的文章。
[关于原码 反码和补码](https://blog.csdn.net/chenchao2017/article/details/79733278)
在这里补充一点关于补码的知识:
a
例如:
+5的补码为0 0101
-5的补码为1 1011
如果我想用八位二进制补码表示怎么办?答案是从右向左补充符号位!!!
那么
+5的补码就应该是0000 0101
-5的补码就应该是1111 1011
b
在进行运算时必须保证位数足够,即不发生数据溢出,否则结果错误!!!
1.整数之间的运算
例如:
(+12) + (+8)
转换成补码形式后按位相加,符号位运算得到的值仍是符号位。若有多余位数产生则舍去多余位数。
在这里我采用了六位二进制数(范围-2^5~ 2^5-1)。
二进制0 10100=十进制 正20
再来个负数!(记住是各个位对应相加)
二进制0 00101=十进制 正5
在这里再次强调一下,多余位需要舍去,符号位经过运算得到的值依然是符号位。
2.小数间的运算
例如:
12.625+7=12+0.625+7
12+7这里就不介绍了(上面刚说过)。
0.625采用“乘二取整法”化为二进制可以得到是0.101(这里不会的直接百度,相信你!)
正19用二进制表示为 0 10011。
0 10011+0.101
即得到二进制结果为 0 10011.101 (首位0为符号位)
等于19.625
再例如:
7-0.375
0.375采用“乘二取整法”化为二进制可以得到0.011,那么-0.375就是1.011。化为补码形式为1.101(加一是在最后面加的),化为8位二进制是1 1111.101
即结果为1 0 0110.101(最左边1为溢出值,舍去)。
0 0110.101= +6.625
上文是我自己的拙见,可能有不当或者错误的地方。如若细心的你发现了,还请指正!
包含负数的二进制补码的加减运算相关推荐
- 微型计算机原理计算两数和,微型计算机原理及汇编语言 第2章-2 补码及加减运算.ppt...
微型计算机原理及汇编语言 第2章-2 补码及加减运算 2.4 数的定点与浮点表示法 2.4.1 定点表示 所谓定点表示法,是指小数点在数中的位置是固定的.原理上讲,小数点的位置固定在哪一位都是可以的, ...
- 原码/补码的加减运算and溢出判断
小数点的处理: 任意一个二进制数S都可以表示为 研究小数点就要研究阶码E的取值: 若E=0,则表示纯小数--代表定点小数: 例0.1111表示+0.1111,1.1111表示-0.1111. 若E=n ...
- 补码的加减运算和溢出判断
补码的加减运算 定义:两个操作数用补码表示,连同符号位一起表示,结果也用补码表示 补码的加减运算公式:(X+Y)补 = X补 + Y补 (X-Y)补 = X补 + (- ...
- 考前自学系列·计算机组成原理·补码定点加减运算和溢出判断,浮点数的加减运算,原码的乘法
补码定点加减运算和溢出判断 浮点数的加减运算 原码乘法
- 使用全加器实现补码的加减运算
引言: 我们都知道,在计算机中的加减运算都是由补码来实现的,那么,计算机是如何运用电路来实现补码的加减的呢?在计算机中,所有的加减运算其实都变成了加法后来参与运算的,那么仅需要一个加法器就可以实现了. ...
- 【计算机组成原理】补码的加减运算方法
补码加法 [x+y]补=[x]补+[y]补 符号位也当作数值计算,最高位产生的进位丢掉(操作就是mod2n+1 ) 补码减法 [X-Y]补 =[X]补 + [-Y]补 和补码加法几乎完全一样,唯一的不 ...
- 二进制补码加减运算的溢出检查
文章目录 前言 法一(较少使用) 法二 法三(常用) 例题 前言 此文章不涉及相应的二进制补码的加减运算,仅对其溢出的问题进行讨论. 例题中有包含相应的解释,如果通过这三个方法检测都没有问题时,结果不 ...
- 2.3.2 浮点数的加减运算
加油哦棒棒哒(●• ̀ω•́ )✧取快递 要如何实现浮点数的运算呢?所以这个小节我们要探讨的是浮点数如何实现加减运算,那除了加减运算的实现之外,我们还会探讨浮点数,还有定点数之间的一个强制类型转换的问 ...
- 浮点数加减运算左规右规
当尾数用二进制表示时,浮点规格化的定义是尾数M应满足: 1/2 ≤ |M|<1 显然对于正数而言,有M = 00.1φφ-φ:对于负数,其补码形式为11.0φφ-φ(即-0.0***** ...
- 计算机组成原理——加减运算 溢出判断
文章目录 原码的加减运算 原码的加法运算: 原码的减法运算,"减数"符号取反,转变为加法: 补码的加减运算 补充: 1. 求[-B]补 2. 负数补 → 原: 例题 溢出判断 溢出 ...
最新文章
- zynq tcp如何从网口发数据_ZYNQ_PL与PS的DDR交互
- 71页《乌镇智库:全球人工智能发展报告(2018)》PDF下载
- VMware 全虚拟打开
- 码农在墨尔本首次求职有感
- hive udf 分组取top1_项目实战从0到1之hive(27)数仓项目(九)数仓搭建 DWS 层
- Spring Session实战2
- Java中的低GC:使用原语而不是包装器
- 微信小程序 服务器触发事件,微信小程序组件间通讯与事件
- 用php做颜色表格,如何使用纯PHP格式化excel文件的样式,字体,颜色,表格等?
- python中pickle模块_python标准库学习之pickle模块
- 编程基本功:顾名思义是可视化编程的要求
- php画图抗锯齿,​CSS3如何实现字体抗锯齿渲染效果?-webkit-font-smoothing属性(实例)...
- 数学建模--预测方法
- 二叉树叶子结点个数——C++
- HTML5 浏览器大小缩放到一定大小固定页面
- 无线5G CPE与AP
- 银行IT系统 -整体架构
- 同源策略——CORS和JSONP劫持漏洞
- Zabbix安装错误解决方案
- Macbook 开机后黑屏,电池满电却瞬间没电问题