原码反码补码:计算机整数的运算为啥用补码?运算过程举例理解

2023-11-04

原码 反码 补码基本知识
  • 正整数:原码、反码、补码均是原码本身
  • 负整数:反码 = 原码按位取反(符号位除外) 补码 = 反码+1
    例如
    byte 1
    原码:0000 0001
    反码:0000 0001
    补码:0000 0001
    byte -3
    原码:1000 0011
    反码:1111 1100 (原码按位取反,符号位除外)
    补码:1111 1101 (反码+1)
为啥要用补码

正负数,在计算机中存放的格式,就是补码。计算机中,并没有原码和反码,也就不必关心它们了。下面,针对补码,给出解释。
比如,有一个小孩,很小的。他只认识 100 个数(0~99),也不会做减法。那么,就可以告诉他:“减一”,就用“加 99”算吧。
  36 - 1 = 35
  36 + 99 = (1) 35
忽略进位的 100,结果不是一样的吗?
那么,就是说:
 99,就是-1 的补数。
 98,就是-2 的补数。
 。。。
利用“补数”,就可把“减法”转为“加法”。利用这个特点,计算机中,仅需一个“加法器”,就够用了。

用补码进行计算的过程

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

原码反码补码:计算机整数的运算为啥用补码?运算过程举例理解 的相关文章

  • MySQL基础(非常全)

    MySQL基础 一 MySQL概述 1 什么是数据库 答 数据的仓库 如 在ATM的示例中我们创建了一个 db 目录 称其为数据库 2 什么是 MySQL Oracle SQLite Access MS SQL Server等 答 他们均是
  • linux 如何创建卷组

    1 创建一个物理卷 Pvcreate dev sd1 dev sd2 dev sd3 dev sd4 2 用刚才创建的物理卷创建一个卷组 Vgcreate 卷组名 dev sd1 dev sd2 dev sd3 dev sd4 3 创建逻辑
  • 操作系统学习(九)进程通信

    一 知识总览 二 定义 进程通信是指进程之间的信息交换 每个进程都拥有自己的内存空间 是相互独立的 这样在每个进程执行时 才不会被其他进程所干扰 三 进程通信的方式 1 共享存储 1 两个进程对共享区的访问必须是互斥的 即在同一时间内 只允
  • Ubuntu 10.10下安装TFTP的步骤 tftp-hpa版本

    背景 由于想要在tq2440板子上用tftp下载kernel 所以要在自己的PC机的Ubuntu 10 10上安装tftp服务 所以就去网上找了些教程 但是很悲剧 按照那些教程去操作 结果还都是无法正常运行tftp服务 最后还是从一个外国人
  • 设备管理过程

    复杂度2 5 机密度2 5 最后更新2021 04 19 AIX中对设备会有如下五个操作 define aix下能看到设备的定义 但驱动程序并没有加载或初始化 该设备不可用 lsdev看到设备时defined 很多逻辑设备 vg lv等 只
  • gpuz怎么看显存颗粒

    gpuz可以帮助一些用户查看电脑的一切显卡参数 对于想要了解显卡的网友来说使用起来是非常方便的 不过有些网友是刚开始使用 还不知道gpuz怎么看显存颗粒 下面小编就教下大家gpuz查看显存颗粒的方法 首先 显存颗粒是显存的物理存储组成单元
  • 操作系统PV操作及读者写者问题

    操作系统PV操作及读者写者问题 目录 1 信号量 2 P V操作原语可描述为以下式子 3 解释 4 互斥模式原理 5 同步模式原理 6 读者写者问题 1 信号量 PV操作与信号量的处理有关 信号量是表示资源的实体 是一个与队列有关的整型变量
  • JSON.stringify()

    JSON stringify 将一个JavaScript值 对象或者数组 转换为一个 JSON字符串 如果指定了replacer是一个函数 则可以选择性的替换值 或者如果指定了replacer是一个数组 可选择性的仅包含数组指定的属性 语法
  • Linux使用nvida-smi查看GPU类型

    nvida smi提供一个查看GPU信息的方法 然而这种方式不能查看GPU型号 型号被省略成了GeForce RTX 208 如果我们需要查看GPU的型号 只需要运行nvidia smi L即可 mrfive ubuntu nvidia s
  • 红帽7.9部署telnet服务

    升级ssh 为预防万一提前配置telnet服务 安装软件包 yum install telnet server yum install xinetd xinetd加入开机自启 systemctl enable xinetd service
  • 深入ftrace kprobe原理解析

    Linux krpobe调试技术是内核开发者专门为了编译跟踪内核函数执行状态所涉及的一种轻量级内核调试技术 利用kprobe技术 内核开发人员可以在内核的绝大多数指定函数中动态插入探测点来收集所需的调试状态信息而基本不影响内核原有的执行流程
  • 操作系统 段页式存储管理

    一 引入 分页系统是以页面作为内存分配的基本单位 能有效地提高内存利用率 但信息共享等不方便 分段系统是以段作为内存分配的基本单位 它能够更好地满足用户多方面的需要 信息共享 动态链接等 但采用分区方式管理物理内存 仍然存在碎片问题 段页式
  • Visual studio 2005 hangs on startup AppHangXProcB1 svchost devenv.exe svchost.exe:{2a811bb2-303b-48b...

    This problem has been torturing me for the whole afternoon and after searching on the web for a long time I finally get
  • 自己动手写操作系统(一)

    本系列文章将一步步实现一个简单的操作系统 实验环境是在Linux系统下通过Bochs虚拟机运行我们自己写的操作系统 一 实验环境搭建 1 Ubuntu的安装 Windows用户可以选择在虚拟机中安装Ubuntu 具体安装教程可自行搜索 2
  • Anaconda 安装 Python 库(MySQLdb)的方法-(转)

    安装python库的过程中 最重要的地方就是版本需要兼容 其中操作系统为64位 Python为2 X 64位 下载安装文件的时候也要注意版本匹配 其中文件名中包含的cp27表示CPython 2 7版本 cp34表示CPython 3 4
  • 由于回车符引起的shell错误

    今天弟弟写shell时出现一个错误 源代码如下 zip r 1 2 执行时出现错误 我也写了相同的语句 发现是可以执行的 把两个文件对比一看 差别在于 出错shell 正确shell 在linux下的回车是 n 在win下面的回车是 r n
  • 【操作系统】王道考研 p42 段页式管理方式

    段页式管理方式 知识总览 分段 分页管理方式中最大的优缺点 关于段式管理会产生外部碎片 ps 分段管理中产生的外部碎片也可以用 紧凑 来解决 只是需要付出较大的时间代价 分段 分页 段页式管理 示意图 先分段 后分页 段页式管理的逻辑地址结
  • 使用ShellJS提升你的开发效率(一)

    Shelljs Unix shell commands for Node js Shelljs是Node js下的脚本语言解析器 具有丰富且强大的底层操作 Windows Linux OS X 权限 Shelljs本质就是基于node的一层
  • 【操作系统xv6】学习记录4-一级页表与二级页表

    占位
  • 八股文打卡day20——操作系统(3)

    面试题 线程同步的方式有哪些 我的回答 多线程同时访问和修改某个数据的话 会造成数据的不一致和冲突问题 所以就需要线程同步 线程同步的方式有 1 互斥锁 互斥锁就是 当一个资源被访问和操作时 会对这个资源加锁 把这个资源锁定 其他线程不能对

随机推荐

  • torch.nn.Linear()函数讲解

    函数讲解 in features指的是输入的二维张量的大小 即输入的 batch size size 中的size out features指的是输出的二维张量的大小 即输出的二维张量的形状为 batch size output size
  • 【Matlab】智能优化算法_灰狼优化算法GWO

    Matlab 智能优化算法 灰狼优化算法GWO 1 背景介绍 2 基本思想 2 1 等级制度 2 2 狩猎方式 3 公式推导 3 1 社会等级制度 3 2 包围猎物 3 3 包围猎物 3 4 攻击猎物 3 5 搜索猎物 4 算法流程图 5
  • 史上最详细springboot vue UEditor整合(包括遇到的各种坑)

    Vue中引入UEditor看这篇教程https blog csdn net kshon article details 102667318 接下来说说springboot中配置UEditor遇到的各种坑 1 将UEditor中目录下的con
  • IM即时通讯-推荐框架

    CIM https gitee com farsunset cim CIM是一套基于mina或netty框架下的推送系统 或许有一些企业有着自己一套即时通讯系统的需求那么CIM为您提供了一个解决方案 目前CIM支持websocket and
  • java map取第一个元素_java常用对象Map集合中关于取出元素的说明

    之前在上一篇 java常用对象API中集合框架之Map的用法 文章中简单的例举了一些Map集合中的一些简单方法和一些常用的子类 那么本章将对例举的方法和子类进行一一的详细说明和举例 这样也是为了让更多的朋友们学习java能够得到另一种启发而
  • 将手机、平板变成电脑第二屏

    将手机 平板变成电脑第二屏 过年回家了 带着大包小包 显示器总不能再带在身上吧 常年双屏使用者 当没有了双屏 感觉很难受 于是找到了开源项目deskreen Deskreen 是一款桌面应用程序 可以通过 WiFi 局域网下 将任何带有浏览
  • 华为OD机试 Python 【恢复数字序列】

    描述 给你一个由正整数拼接而成的字符串 但中间有些字符位置被打乱了 比如原来有 89101112 它可能被打乱为 90811211 这时整数10就变成了0和1两部分 请你找出原始字符串中的最小正整数是什么 输入 一行 包括被打乱的字符串和原
  • RabbitMQ 消息丢失的场景,如何保证消息不丢失?

    一 RabbitMQ消息丢失的三种情况 第一种 生产者弄丢了数据 生产者将数据发送到 RabbitMQ 的时候 可能数据就在半路给搞丢了 因为网络问题啥的 都有可能 第二种 RabbitMQ 弄丢了数据 MQ还没有持久化自己挂了 第三种 消
  • 【C#】.Net 腾讯云一句话识别 【实例】

    腾讯云一句话识别实例 using System using System Threading Tasks using TencentCloud Common using TencentCloud Common Profile using T
  • 编写高质量代码:改善Java程序的151个建议(第10章:性能和效率,第11章:开源世界,第12章:思想为源___建议132~151)...

    第10章 性能和效率 建议132 提升Java性能的基本方法 建议133 若非必要 不要克隆对象 建议134 推荐使用 望闻问切 的方式诊断性能 建议135 必须定义性能衡量标准 建议136 枪打出头鸟 解决首要系统性能问题 建议137 调
  • 素数筛【朴素,埃氏,欧拉】(持续优化ing)

    一 朴素筛法 定义部分说明 int prime 11000 存素数 int ans 0 计数 计prime数组中有多少个素数 代码实现部分 void getPrime int n prime ans 2 for int i 3 i lt n
  • Docker开发指南(自用)

    Docker开发指南 自用 本指南总结归纳菜鸟教程上的常用指令 并在文末给出了一个应用实例 序言 Docker是什么 Docker 是一个开源的应用容器引擎 基于 Go 语言 并遵从 Apache2 0 协议开源 Docker 可以让开发者
  • 【C语言练习题】计算1 * 2 * 3+3 * 4 * 5+5 * 6 * 7+...+99 * 100 * 101的值。

    计算1 2 3 3 4 5 5 6 7 99 100 101的值 错误版本 循环结束后仍执行i i 多余 include
  • 金融风控反欺诈之图算法

    先介绍下金融借贷业务流程 用户前来申请借贷 会先经过欺诈识别 把欺诈团伙和主观欺诈的个人拒绝掉 然后对通过的人做信用评估 最后根据额度模型 算出利润最大化时放款金额 刚才提到了团队欺诈 举个真实的例子 宜人贷在他们的财报中公布的 他们被一个
  • BFS和DFS代码实现

    BFS DFS实现图的遍历 以以下图数据为例 首先BFS是广度优先遍历算法 从图的某一个节点出发 然后遍历完这个节点相邻的节点 这个算法的核心就是 先把周围的找完 再去找更深的地方 通俗易懂的说法 DFS就是一条路走到底 发现没路了 返回来
  • uniapp uni-table表格组件 合并单元格

    注意 目前该方法只适用于H5 小程序和APP无法适配 就不用往下看了 解决方案 直接使用 rowspan 和 colspan 就可以 虽然文档上并没有写这些参数 但是我实际使用后以后 发现这些参数是可以直接用的 我猜测其他的一些参数都是可以
  • 软件测试V模型

    以 编码 为黄金分割线 将整个过程分为开发和测试 并且开发和测试之间是串行的关系 特点 明确标注了测试的类型 明确标注了测试阶段和开发阶段之间的对应关系 缺点 测试后置 V模型是基于瀑布模型的 将测试放在整个开发的最后阶段 没有让测试今早介
  • 时序预测

    时序预测 MATLAB实CNN LSTM 卷积长短期记忆神经网络 时间序列预测 目录 时序预测 MATLAB实CNN LSTM 卷积长短期记忆神经网络 时间序列预测 基本介绍 CNN LSTM模型 CNN网络架构 LSTM网络架构 CNN
  • JAVA 数据类型强制转换详解

    JAVA 数据类型转换 强制类型转换 强制类型转换 将 取值范围大的类型 强制转换成 取值范围小的类型 特点 代码需要进行特殊的格式处理 不能自动完成 转换格式 范围小的类型 范围小的变量名 范围小的类型 原本范围大的数据 int i in
  • 原码反码补码:计算机整数的运算为啥用补码?运算过程举例理解

    原码 反码 补码基本知识 正整数 原码 反码 补码均是原码本身 负整数 反码 原码按位取反 符号位除外 补码 反码 1 例如 byte 1 原码 0000 0001 反码 0000 0001 补码 0000 0001 byte 3 原码 1