计组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

相关文章

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c

在Java中将XLS转换为XLSX的实现方案

《在Java中将XLS转换为XLSX的实现方案》在本文中,我们将探讨传统ExcelXLS格式与现代XLSX格式的结构差异,并为Java开发者提供转换方案,通过了解底层原理、性能优势及实用工具,您将掌握... 目录为什么升级XLS到XLSX值得投入?实际转换过程解析推荐技术方案对比Apache POI实现编程