二进制中的相反数

server/2024/10/18 5:37:48/

相反数的本质

相反数的本质是两数相加等于 0,1 加上 1 的相反数-1 永远等于 0。

二进制中取相反数的公式

对于二进制运算来说减法是通过加上一个负数实现的,所以想要达成两数相加等于 0 的情况一定是通过溢出来实现。两数相加等于 0 可以带入为 11111111 + 00000001 = 00000000 1111 1111 + 0000 0001 = 0000 0000 11111111+00000001=00000000,将 00000000 0000 0000 00000000 用两个相反数 A A A A ′ A' A 代替,可以得到公式 11111111 + 00000001 = A + A ′ 1111 1111 + 0000 0001 = A + A' 11111111+00000001=A+A,那么 A ′ = 11111111 − A + 00000001 A' = 1111 1111 - A + 0000 0001 A=11111111A+00000001。而二进制 11111111 − A 1111 1111 - A 11111111A 的含义是 A 按位取反,所以推出最终的公式如下。
A ′ = A 按位取反 + 1 A' = A按位取反 +1 A=A按位取反+1
需要注意两点

  1. 这里的按位取反与求补码时不同,这里按位取反是需要包含符号位的
  2. 相反数的运算需要使用补码进行

原码补码转换的计算过程可以参考这篇文档——原码、反码和补码

例子

举一个 -1 求相反数的例子。
在这里插入图片描述

参考资料

补码(为什么按位取反再加一):告诉你一个其实很简单的问题
二进制相反数为什么是按位取反加1,补码来源


http://www.ppmy.cn/server/48996.html

相关文章

Python 植物大战僵尸游戏【含Python源码 MX_012期】

简介: "植物大战僵尸"(Plants vs. Zombies)是一款由PopCap Games开发的流行塔防游戏,最初于2009年发布。游戏的概念是在僵尸入侵的情境下,玩家通过种植不同种类的植物来保护他们的房屋免受僵尸的侵袭。在游…

【Java】解决Java报错:IllegalArgumentException

文章目录 引言1. 错误详解2. 常见的出错场景2.1 非法的参数值2.2 空值或 null 参数2.3 非法的数组索引 3. 解决方案3.1 参数验证3.2 使用自定义异常3.3 使用Java标准库中的 Objects 类 4. 预防措施4.1 编写防御性代码4.2 使用注解和检查工具4.3 单元测试 结语 引言 在Java编程…

华为wlan实验

分为三步:1、网络互通,2、AP上线,3、wlan业务 1、网络互通 crow-sw: vlan batch 20 100 dhcp enable int vlan 20 ip add 192.168.20.1 24 dhcp select interfaceinterface GigabitEthernet0/0/2port link-type accessport default vlan 100…

微信小程序毕业设计-实验室管理系统项目开发实战(附源码+论文)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…

(051)FPGA时钟--->(001)时钟介绍

(001)时钟介绍 1 目录 (a)FPGA简介 (b)Verilog简介 (c)时钟简介 (d)时钟介绍 (e)结束 1 FPGA简介 (a)FPGA(Field Programmable Gate Array)是在PAL (可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。它是作为专用集成电…

Ubuntu Updates for this repository will not be applied

1. 问题描述 在Ubuntu中使用apt update时提示如下错误信息。 Get:1 http://archive.ubuntu.com/ubuntu jammy InRelease [270 kB] Get:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB] Get:3 http://archive.ubuntu.com/ubuntu jammy-backports InRele…

MySQL的group by与count(), *字段使用问题

文章目录 问题group by到底做了什么举个例子简单来说为什么select字段,count()不能和*共同使用总结 问题 这是一段摘抄自MySQL官网的文字。其大致意思是MySQL拓展了group by的使用,MySQL允许选择没有出现在group by中的字段。换句话说,标准SQ…

AI智能自动无人直播软件app;各平台均可使用的24小时直播系统;一部手机开播

在数字科技飞速发展的今天,AI智能自动无人直播软件app的出现无疑为直播行业注入了新的活力。这款软件以其独特的优势,如各平台均可使用的兼容性、24小时不间断直播的稳定性以及一部手机即可开播的便捷性,正逐渐改变着直播行业的格局。首先&am…