计算机 原码、反码、补码(相互转化)

2023-05-16

一、基本概念

在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以用补码统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。

  1. 原码:二进制表示。二进制首位是符号位,0为正,1为负
  2. 反码正数,反码和原码一样;负数,符号位不变,其他各位取反
  3. 补码正数,补码和原码一样;负数,反码末位加1,有进位则进位,但不改变符号位

 

二、举个例子:(假设是字节长度为8位)

 

三、注意:(总结一下就是,-127~127都是正常转换,只有-128一个特殊的只有补码)

  1. 八位字节的二进制转化的十进制的最大 正数 为 127(0111  1111)
  2. -127只能表示(原码1111  1111)(反码1000  0000)(补码1000  0001)
  3. 八位字节的二进制转化为十进制的最大 负数 为 -128 (1000  0000)
  4. +0和-0的补码是一样的。即 0的补码只有一种表示
  5. 所以为了避免面混淆,有了-0的原码,便不能有-128的原码反码,这是8位比特位位数限制决定的
  6. 补码能表示的数的个数中,比原码反码少了一个,所以补码可以多表示一个真值为-128的数

 

这里有一个很好的文案,可以看看:

https://www.cnblogs.com/flowerslip/p/5933833.html(关于 -128 ,+128,-0,+0,-1 的反码补码)

# 但是在(三.-128的补码为什么是1000 0000)的数学方法的证明那里有个正负好像有点问题

 

四、比如求解  -127+128 = -1

(两者补码想加,然后转成反码,再转成原码,在把这个二进制转成十进制)

补码相加:0111  1111  +  1000  0000 = 1111  1111

转成反码(末位-1):(1111  1111)-->  1111  1110

转成原码(除符号位之外按位取反):(1111  1110)-->  1000  0001

转成二进制:(1000  0001)-->  -1

 

 

 

 

 

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

计算机 原码、反码、补码(相互转化) 的相关文章

  • 小觅深度摄像头MYNT-EYE-SDK 在linux系统Build SDK Errors

    小觅深度摄像头MYNT EYE SDK 在linux系统Build SDK Errors 获取小觅MYNT EYE SDKmake all xff08 make samples 出现错误make all xff08 make ros xff
  • Celery 简单使用

    异步任务队列 Celery 使用 一 异步任务 xff1a 异步任务是web开发中一个很常见的方法 对于一些耗时耗资源的操作 xff0c 往往从主应用中隔离 xff0c 通过异步的方式执行 简而言之 xff0c 做一个注册的功能 xff0c
  • 小批量随机梯度下降

    小批量随机梯度下降 mini batch stochastic gradient descent 算法 xff1a 先选取一组模型参数的初始值 xff0c 如随机选取 xff1b 接下来对参数进行多次迭代 xff0c 使每次迭代都可能降低损
  • Ubuntu22下载安装

    文章目录 下载VMware虚拟机安装其他安装方式后续更新 下载 Ubuntu官网 xff1a https ubuntu com 在官网选择Download xff0c 这里演示安装桌面版 xff0c 点击桌面版的22 04版本即可下载 VM
  • ROS学习笔记 程序简单示例一:发布者与订阅者(talker和listener)

    1 创建工作空间 mkdir p catkin ws src cd catkin ws catkin make 2 创建功能包 cd src catkin create pkg messager std msgs roscpp 此时在src
  • Ubuntu18.04编译安装ROS工具包MoveIt

    官方安装教程请点击https moveit ros org install source 最简单的安装方式是apt安装 sudo apt install ros melodic moveit 编译安装时 xff0c 笔者在这一步遇到问题 x
  • pr2+RealSense D435+3D感知配置

    本文环境是ROS Melodic xff0c 参考https www ncnynl com archives 201610 1045 html https blog csdn net qintianhaohao article detail
  • 记录Ceres优化中遇到的一个奇怪问题

    笔者在学习视觉SLAM十四讲的第6讲非线性优化时 xff0c 运行使用Ceres拟合曲线的例程 xff0c 发现当生成数据为如下代码时 vector lt double gt x data y data 数据 for int i 61 0
  • slambook2中训练字典时的DBoW3库问题

    问题描述 视觉SLAM十四讲第2版的第11讲中 xff0c 训练字典的程序需要用到DBoW3库 xff0c 由于从GitHub中克隆下来的slambook2仓库中的3rdparty文件夹下均是空文件 xff0c 故自行下载了DBoW3库 编
  • VMware虚拟网卡对网络的影响

    最近发现打开网页的速度极慢 xff0c 有些网页首次打开需要加载很久 xff0c 甚至加载不出来 起初以为是DNS的原因 xff0c 但是将DNS改为114 114 114 114也没有用 ping域名的时候 xff0c 总是第一次为无法访
  • 【解决】tf2.LookupException: “base_link“ passed to lookupTransform argument target_frame does not exist.

    使用环境ROS MELODIC Python 2 7 在ROS中使用tf监听两个frame的变换关系时 xff0c 出现以下报错 Traceback most recent call last File 34 controller py 3
  • gazebo——解决第一次打开gazebo卡的时间特别久问题

    解决第一次打开gazebo卡的时间特别久问题 cd span class token operator span span class token regex gazebo span mkdir span class token opera
  • NUCLEO开发板 STLINK-V3E体验

    一 前言 NUCLEO开发板普遍在内部集成了ST LINK调试器 编程器 xff0c 所以STM32 Nucleo 144板无需单独的探头 个人理解 xff0c STLINK V3E中 xff0c E是Embedded的意思 xff0c 也
  • GAZEBO 中 sdf文件详解

    GAZEBO 中 sdf文件详解 1 model模型 一个模型数据库会拥有的文件 xff08 1 xff09 database config xff1a 有关数据库的元数据 xff0c 从CMakeList自动填充 本地不需要 xff08
  • 【HCNP-OSPF】LSA

    一 拓扑图 OSPF为什么会引入 划分区域 xff1f 划分区域以后 xff0c 可以带来以下好处 xff1a 1 节省区域中的每一个设备的系统资源 xff08 大区域被划分以后 xff0c 小区域中的数据库内容就会变少 xff09 xff
  • 无人机起降(2):AcFly飞控模块与M8N GPS模块的接口修改

    假如AcFly飞控想使用M8NGPS而不是AcFly GPS 需要将接线进行更换 AcFly飞控接口定义 由飞控手册查阅外设接口 xff1a 超声波 xff1a Ultrasonic 接口 光流传感器 xff1a Uart5 接口 GPS
  • 卡尔曼滤波原理及应用仿真(3):非线性滤波之扩展Kalman滤波

    标量非线性系统EKF 标量系统状态方程 xff1a 观测方程 xff1a MATLAB仿真 设置时间长度为50s xff0c 过程噪声方差Q 61 0 01 观测噪声方差R 61 1 xff0c 初值X 0 61 0 1 xff0c 协方差
  • 100条经典C++笔试题目及答案分享

    100条经典C 43 43 笔试题目分享 一 C 43 43 与C差异 1 17 二 数据类型 关键字 18 37 三 C 43 43 面向对象的特性 38 61 四 程序阅读题 62 89 五 编程练习 90 100 看到好用的经典C 4
  • 2020讯飞AI开发者大赛-温度预测赛道baseline改进

    2020讯飞AI开发者大赛 温度预测赛道baseline改进分享 写在前面数据清洗缺失值处理异常值处理 特征工程模型训练写在最后 写在前面 这是我参加的第二次数据竞赛 xff0c 上次是上个月的 传染病趋势预测 xff0c 西交是主办方的那
  • office显示正在更新怎么办

    问题 xff1a office打开之后 xff0c 显示正在更新 xff0c 过了一段时间后显示失败 xff0c 怎么解决 xff1f 解决方案 xff1a 1 win 43 R输入services msc 2 将Microsoft Off

随机推荐