首页 > 编程语言 >[ARM汇编]计算机原理与数制基础—1.1.3 二进制补码

[ARM汇编]计算机原理与数制基础—1.1.3 二进制补码

时间:2023-06-14 14:01:27浏览次数:51  
标签:00000101 数制 符号 二进制 补码 反码 ARM 原码

在计算机中,为了表示有符号整数(即正数和负数),通常采用二进制补码表示法。二进制补码不仅可以表示负数,还能简化计算机的加法和减法运算。接下来,我们将介绍二进制补码的概念及其计算方法。

原码、反码和补码

在讨论补码之前,我们先了解一下原码和反码的概念。

  1. 原码:直接将一个有符号整数转换为二进制数,最高位表示符号(0 代表正数,1 代表负数)。例如:+5 的原码为 00000101-5 的原码为 10000101

  2. 反码:对于正数,其反码与原码相同;对于负数,除符号位外,其余位取反(0 变为 1,1 变为 0)。例如:+5 的反码为 00000101-5 的反码为 11111010

  3. 补码:对于正数,其补码与原码相同;对于负数,其补码为反码加 1。例如:+5 的补码为 00000101-5 的补码为 11111011

求补码的方法

  1. 求正数的补码:直接将正数转换为二进制数,最高位为 0。
  2. 求负数的补码:先求其绝对值的二进制数,然后取反并加 1。

示例:

求 +5 和 -5 的补码:

+5 的补码:00000101
-5 的补码:先求 +5 的二进制数:00000101,然后取反:11111010,最后加 1:11111011

补码的加法运算

使用补码表示法进行加法运算时,可以将有符号整数的加法统一为无符号整数的加法。计算过程中,如果最高位(符号位)有进位,则忽略该进位。

示例:

计算 +5 和 -3 的和:

+5 的补码:00000101
-3 的补码:11111101

相加:
  00000101
+ 11111101
----------
 100000010  (最高位有进位,忽略)

结果为 00000010,转换为十进制数为 2。所以,+5 和 -3 的和为 2

从补码还原到原码

为了从补码还原到原码,我们可以根据补码的符号位采取不同的方法:

  1. 如果补码的符号位为 0(正数),则补码即为原码。
  2. 如果补码的符号位为 1(负数),则将补码减 1,然后取反,即可得到原码。

示例:

从补码 11111011 还原到原码:

补码:11111011
减 1:11111010
取反:10000101

原码为 10000101,表示负数 -5

通过学习二进制补码的概念及其计算方法,我们能够更好地理解计算机中有符号整数的表示方式和加减法运算。在后续学习 ARM 汇编的过程中,我们会频繁地使用到补码表示法,因此熟练掌握补码的计算方法至关重要。
推荐阅读:

https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA

https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g

file

标签:00000101,数制,符号,二进制,补码,反码,ARM,原码
From: https://www.cnblogs.com/yaoqian/p/17480000.html

相关文章

  • 基于Mediatek Genio700(MT8390)的开发板,ARM主板开发板定制开发
    MediaTekGenio系列平台已赢得全球设备制造商的信任,为各类应用提供了安全、强大、可扩展且优质的解决方案。作为一款高性能的边缘人工智能物联网平台,MediaTekGenio700可广泛应用于智慧零售、工业应用和智能家居。该平台采用先进的台积电6纳米制程,拥有出色的能效比,适用于智能终端......
  • PyCharm 优化
    1.汉化File->Settings->Plugins(插件)在搜索栏中输入Chinese(Simplified)下载中文插件并安装重启PyCharm即出现汉化 ......
  • QA|Pycharm:allure : 无法将“allure”项识别为 cmdlet、函数、脚本文件或可运行程序的
    Pycharm中生成allure测试报告时报错如图: 单独执行allure--version也不行,cmd这样执行也报同样的错 网上查了说是环境变量问题,加一下cmd可以了,重启pycharm也可以了    参考文章:(118条消息)pycharmallure:无法将“allure”项识别为cmdlet、函数、脚本文件......
  • N1 安装 armbian 简单教程
    制作镜像选择Armbian_23.02.0_amlogic_s905d_bullseye_6.0.11_server_2022.12.08.img.gz,下载好之后,解压,利用rufus刷入u盘。安装由于盒子在刷入armbian前为安卓系统,已开启adb,mac的终端执行adbconnect192.168.123.193连接无线adb,192.168.123.193修改成N1的实际的ip地址,然后执行......
  • [ARM汇编]计算机原理与数制基础—1.1.4 逻辑运算
    在计算机中,逻辑运算是对二进制数据进行操作的基础。逻辑运算主要包括以下几种:与(AND)、或(OR)、非(NOT)和异或(XOR)。接下来,我们将详细介绍这几种逻辑运算的原理及其应用。与(AND)运算与运算的规则如下:0AND0=00AND1=01AND0=01AND1=1两个二进制数进行与运算时,从最低......
  • Pycharm基本使用
    目录Pycharm快捷键运行环境:解释器+第三方包python虚拟环境:【零基础】PyCharm基本功能入门详解_哔哩哔哩_bilibiliPycharm快捷键快捷键作用Ctrl+/单行注释Ctrl+d复制一行Ctrl+y删除一行Tab代码向后缩进Shift+Tab代码向前取消缩进Shift+Enter格式......
  • pycharm配置环境遇到的报错
    今天配置pycharm遇到一些报错,包括:1、ModuleNotFoundError:Nomodulenamed‘pandas.core.internals.managers‘;2、安装好pandas后在cmd查看发现numpy和pandas的版本不匹配3、报错Nomodulenamed'tensorflow'解决1:pandas版本不够卸载后尝试再次安装pandas,但是直接pipins......
  • Linux hwrng以及ARM TRNG记录
    关键词:hwrng,/dev/random,/dev/urandom,rngd,rngtest等。  Linuxhwrng驱动比较简单,hwrngcore注册设备提供应用层设备。hwrnddriver提供具体硬件接口,然后注册到hwrngcore中,以及往内核熵池提供随机数。1.Linuxhwrng框架1.1hwrng框架对外接口 hwrng对外提供的API接口包括......
  • PyCharm 安装教程
    1.下载进入PyCharm官方下载地址:https://www.jetbrains.com/pycharm/download/下载社区版本(日常学习使用够用了),专业版是收费的哦(功能更强大) 2.安装PyCharm(1)双击打开pycharm-community-2023.1.2.exe(2)点击Next (3)选择安装路径(尽量不要选择带中文和空格的目录)选择好路径后,点......
  • [ARM汇编]计算机原理与数制基础—1.1.2 二进制与十进制数制转换
    在计算机中,我们通常使用二进制数制来表示数据,因为计算机的基本电平只有两种状态:高电平(通常表示为1)和低电平(通常表示为0)。而在我们的日常生活中,我们习惯使用十进制数制。为了方便理解,我们需要掌握二进制与十进制之间的转换方法。二进制转十进制将二进制数转换为十进制数时,我们......