计组01----原反补移转换与加减乘除

2023-10-07 00:59

本文主要是介绍计组01----原反补移转换与加减乘除,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.原反补移的转换

以n位二进制为例

1.1 表示范围

整数:
无符号数:0 ~ 2n - 1 共可表示2n个数
原码:-(2n-1-1) ~ 2n-1-1 共可以表示2n - 1个数(0有两种表示)
反码:-(2n-1-1) ~ 2n-1-1 共可以表示2n - 1个数(0有两种表示)
补码:-2n-1 ~ 2n-1-1 共可以表示2n 个数(0只有一种表示,10……0表示-2n-1
移码:-2n-1 ~ 2n-1-1 共可以表示2n 个数(0只有一种表示,00……0表示-2n-1
小数(无移码):
原码:-(1 - 2-(n-1)) ~ 1 - 2-(n-1) 共可以表示2n - 1个数(0有两种表示)
反码:-(1 - 2-(n-1)) ~ 1 - 2-(n-1) 共可以表示2n - 1个数(0有两种表示)
补码:-1 ~ 1 - 2-(n-1) 共可以表示2n 个数(0只有一种表示,1.0……0表示-1)

1.2 转换

整数:
正数:原反补相同,移码为补码的高位取反.
负数:反码为原码绝对值的逐位取反;补码为反码末尾+1;移码为补码的高位取反.
小数(无移码):
正数:原反补相同。
负数:反码为原码绝对值的逐位取反;补码为反码末尾+1;

负数:原码到补码 从右边第一个1开始,左边的逐位取反 (符号位不变)
补码到负补码 从右边第一个1开始,左边的逐位取反 (符号位改变)

2.加减乘除

2.1 加减法

补码(符号位参与运算):
[x + y]补 = [x]补 + [y]补
[x - y]补 = [x]补 + [-y]补
移码:
[x + y]移 = [x]移 + [y]移 - 2-(n-1) (相加高位取反)
[x - y]移 = [x]移 + [-y]移 - 2-(n-1) (相加高位取反)
[-y]移 = [[y移]]求补

2.2 乘法

原码一位乘法: x(被乘数) * y(乘数)
符号:乘数与被乘数符号的异或
计算:
例:1.1111 * 0.1111
在这里插入图片描述

计算方法:先加在右移,若A0为1则 + |x|,A0为0则 + 0
注:
1.符号位为单符号位。
2.右移高位一直补0.
3.D中初始全补0.

补码一位乘法: x(被乘数) * y(乘数)
布斯法
符号:乘数与被乘数符号的异或
计算:
在这里插入图片描述

计算方法:先加在右移,+[-x]补 +[x]补 +0
注:
1.符号位为双符号位。
2.右移高位补符号位.
3.D中初始全补0.
4.A为带一位符号位的补码.
5.A-1为附加位,初始为0.

2.3 除法

原码除法:
在这里插入图片描述
在这里插入图片描述
恢复余数法
左移 减 左移 减 【加 左移】(若不够减) 左移 减
加减交替法
左移 减 左移 减 【左移 加】(若不够减) 左移 减

这篇关于计组01----原反补移转换与加减乘除的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/155080

相关文章

计组基础知识

操作系统的特征 并发共享虚拟异步 操作系统的功能 1、资源分配,资源回收硬件资源 CPU、内存、硬盘、I/O设备。2、为应⽤程序提供服务操作系统将硬件资源的操作封装起来,提供相对统⼀的接⼝(系统调⽤)供开发者调⽤。3、管理应⽤程序即控制进程的⽣命周期:进程开始时的环境配置和资源分配、进程结束后的资源回收、进程调度等。4、操作系统内核的功能(1)进程调度能⼒: 管理进程、线

hdu 2602 and poj 3624(01背包)

01背包的模板题。 hdu2602代码: #include<stdio.h>#include<string.h>const int MaxN = 1001;int max(int a, int b){return a > b ? a : b;}int w[MaxN];int v[MaxN];int dp[MaxN];int main(){int T;int N, V;s

集中式版本控制与分布式版本控制——Git 学习笔记01

什么是版本控制 如果你用 Microsoft Word 写过东西,那你八成会有这样的经历: 想删除一段文字,又怕将来这段文字有用,怎么办呢?有一个办法,先把当前文件“另存为”一个文件,然后继续改,改到某个程度,再“另存为”一个文件。就这样改着、存着……最后你的 Word 文档变成了这样: 过了几天,你想找回被删除的文字,但是已经记不清保存在哪个文件了,只能挨个去找。真麻烦,眼睛都花了。看

PDF 软件如何帮助您编辑、转换和保护文件。

如何找到最好的 PDF 编辑器。 无论您是在为您的企业寻找更高效的 PDF 解决方案,还是尝试组织和编辑主文档,PDF 编辑器都可以在一个地方提供您需要的所有工具。市面上有很多 PDF 编辑器 — 在决定哪个最适合您时,请考虑这些因素。 1. 确定您的 PDF 文档软件需求。 不同的 PDF 文档软件程序可以具有不同的功能,因此在决定哪个是最适合您的 PDF 软件之前,请花点时间评估您的

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };

01 Docker概念和部署

目录 1.1 Docker 概述 1.1.1 Docker 的优势 1.1.2 镜像 1.1.3 容器 1.1.4 仓库 1.2 安装 Docker 1.2.1 配置和安装依赖环境 1.3镜像操作 1.3.1 搜索镜像 1.3.2 获取镜像 1.3.3 查看镜像 1.3.4 给镜像重命名 1.3.5 存储,载入镜像和删除镜像 1.4 Doecker容器操作 1.4

数据流与Bitmap之间相互转换

把获得的数据流转换成一副图片(Bitmap) 其原理就是把获得倒的数据流序列化到内存中,然后经过加工,在把数据从内存中反序列化出来就行了。 难点就是在如何实现加工。因为Bitmap有一个专有的格式,我们常称这个格式为数据头。加工的过程就是要把这个数据头与我们之前获得的数据流合并起来。(也就是要把这个头加入到我们之前获得的数据流的前面)      那么这个头是

高斯平面直角坐标讲解,以及地理坐标转换高斯平面直角坐标

高斯平面直角坐标系(Gauss-Krüger 坐标系)是基于 高斯-克吕格投影 的一种常见的平面坐标系统,主要用于地理信息系统 (GIS)、测绘和工程等领域。该坐标系将地球表面的经纬度(地理坐标)通过一种投影方式转换为平面直角坐标,以便在二维平面中进行距离、面积和角度的计算。 一 投影原理 高斯平面直角坐标系使用的是 高斯-克吕格投影(Gauss-Krüger Projection),这是 横

VC环境下整型转换为字符串型(2)

在串口下位机的发送中,可能会用到需要发送数字,显示为字符串型的 和上一篇文字《串口中字符串转换为整型》一正一反,知识点学习会了: #include<iostream.h> #include <stdio.h> #include <string.h>   void inttostr(int m,unsigned char * str) { int length=0;   int tmp,te

时间日期与时间戳转换(Linux C)

本文主要学习三个知识点,第一是UTC时间、GMT时间的概念;第二是在Unix环境下UTC时间与时间戳的转换;第三是在C语言中如何修改时区。 本文参考了《UNP》以及 http://blog.csdn.net/foxir/article/details/43916601 http://blog.csdn.net/ljafl9988/article/details/16847935 一、