位运算求相反数

【位运算进阶之----按位取反(~)】(附补码,原码讲解) ✨原码是一种用二进制表示有符号整数的编码方式。其中,最高位表示符号位0为正1为负。其余位是数值位,表示数值的绝对值。举个“栗子”来说:1的原码是:001;-1的原码是:101;✨我们可以看出,互为相反数的两个数的原码,除了第一位的符号位不一样以外,其余位都相同。(那么,可能有聪明的小伙伴们就想到了0,是不是0也有两种表达方式呢?果然聪明!在原码中,0和-0的表示是不一样的。✨补码也是一种用于表示有符号整数的编码方式。其中,最高位(最左侧位)是符号位0表示正数,1表示负数。其余位是数值位。 阅读详情

一、解法

n的相反数等于(~n+1)

二、适用范围

· 对于取相反数之后不会产生溢出的情况都适用

三、具体解释

1、对于正数

对于正数的相反相反数来说,原码就是除符号位变为1,其他不变,计算机中 对于一个数字来说存储的都是其补码,负数的补码为符号位不变其他位按位取反,然后将得到的结果+1

而~n+1的过程第一步就是将符号为变为1,变为其相反数原码的情况,然后剩下的过程就是相反数求补码的过程

2、对于负数

对于一个负数来说,计算机中存储的是其补码,而补码的补码是原码,

而~n+1就是先将负数的补码,变成原码,这个时候在将符号位变为0的过程

四、总结

 1、对于正数:先改变其符号位,然后在进行补码转换

2、对于负数:先进行补码转换,然后在改变符号位

保姆级教程:在Ubuntu 20.04上搞定PX4飞控与T265的视觉定位(附避坑指南) 本文提供在Ubuntu 20.04上配置PX4飞控与T265视觉定位系统的详细教程,涵盖驱动安装、ROS与MAVROS桥接、PX4参数调优及故障排查。通过实测验证的步骤和避坑指南,帮助开发者实现厘米级精度的视觉定位,特别适合室内无人机应用。 阅读详情

相关推荐

基于STM32的PID恒温恒湿控制系统 | 保姆式教程 开源可复刻

本项目基于STM32F103C8T6核心控制器,完整实现了基于双路PID算法的恒温恒湿闭环控制系统,覆盖高精度温湿度采集、双模式控制、参数在线配置、异常安全保护、掉电记忆等全功能,全程采用无跳步保姆式教学,从硬件选型、接线、CubeMX配置、代码开发、调试排坑全流程拆解,跟着步骤一步步操作,就能顺利完成项目复刻

ZhongWeiXiang9的博客 346

反码,补码,相反数

正数:原码、反码、补码相同,不多做介绍; 关键说一下负数, 负数反码:符号位不变,其余数按位取反; 负数补码:符号位不变,其余数按位取反后再加1(反码加1); 这里重点说一下相反数,一个数(补码形式存储)的相反数不等于反码!它的获取方式如下: 举例: 对于正数,如4 = 0100(补码),它的相反数为-4,-4 = 1100(原)=1011(反)=1100(补), 不难发现,4(0100)的相反数...

biology24的博客 5944

LS-DYNA超高速碰撞仿真入门:从SPH算法配置到铝靶板穿孔分析(附K文件模板)

本文详细介绍了使用LS-DYNA中的SPH(光滑粒子流体动力学)算法进行超高速碰撞仿真的完整流程。以铝弹丸撞击铝靶板为例,从SPH算法原理、LS-PrePost前处理、材料模型与状态方程设置,到接触定义、边界条件及K文件生成,提供了系统的入门指导和关键参数调试经验,帮助工程师高效模拟材料破碎、穿孔等极端变形问题。

h0i1j2k3l的博客 726

位运算获取相反数详解

位运算有很多化腐朽为神奇的操作,取相反数就位列其中,我们总是用【取反+1】来求相反数,就如同公式一样使用,可否曾仔细琢磨过其中的原理呢?

fclkx的博客 1888

手把手教你用AD9834 DDS模块DIY一个可调信号源(附AD原理图/PCB/程序)

本文详细介绍了如何使用AD9834 DDS模块DIY一个高精度可调信号源,涵盖硬件搭建、原理图解读、PCB优化和程序烧录等关键步骤。通过STM32控制实现0-10MHz频率范围输出,特别适合电子设计与射频实验,提供完整的AD原理图、PCB设计和程序代码参考。

weixin_31854867的博客 407

基于STM32L4XX、HAL库的MCP4561数字电位器驱动程序设计

/ HAL库需要左移一位。* @param address: 设备地址(0x2C-0x2F)* @param hmcp: MCP4561句柄。* @param hmcp: MCP4561句柄。* @param hmcp: MCP4561句柄。* @param hmcp: MCP4561句柄。* @param hmcp: MCP4561句柄。* @param hmcp: MCP4561句柄。* @param hmcp: MCP4561句柄。* @param hi2c: I2C句柄。

zhusl6688的博客 340

位运算(按位与 按位或 异或 取反)

1.按位与运算符(&) 参加运算的两个数,按二进制位进行"与"运算 运算规则:只有两个数的二进制同时为1,结果才为1,否则为0(负数按补码形式参加按位与运算) 即:0 & 0 = 0, 0 & 1 = 0,1 & 0 = 0,1 & 1 = 1 例:3 & 5 = 00000011 & 00000101 = 00000001,所以3 & 5 = 1 2.按位或运算符(|) 参加运算的两个数,按二进制位进行"或"运算 运算规则:参加运算的两个数

weixin_48080013的博客 1397

【脑电信号】脑电信号EEG形态学滤波处理【含Matlab源码 4023期】

脑电信号EEG形态学滤波处理 完整的代码,包运行;运行操作视频见优快云资源!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 823

js中的按位运算:与&、或|、异或^、按位取反、左移、右移

与(&)运算: eg: x&y 先将x、y转为二进制数,然后对x 、y的每一位数值进行比较,只有数值都为1时才取1,否则为0. 14&15

yuefujuan_1992的博客 3794

YOLO系列算法改进 | 自研篇 | C3k2融合Circulant Attention注意力模块 | 给局部特征提取器装上了全局动态卷积核,兼顾效率、精度与泛化能力!| AAAI 2026

YOLO系列算法改进 | 自研篇 | C3k2融合Circulant Attention注意力模块 | 给局部特征提取器装上了全局动态卷积核,兼顾效率、精度与泛化能力!| AAAI 2026 (以YOLO26最新目标检测模型为基础,融合C3k2_Circulant创新模块改进Backbone)

2502_91881744的博客 242

FPGA SoC 的 RISC-V 固件开发全攻略(三):RISC-V MCU 启动流程深入解析

本文是《FPGA SoC 的 RISC-V 固件开发全攻略》专栏第 3 篇。上一篇:第 2 篇《开发环境搭建与工具链避坑》 | 下一篇:第 4 篇《RISC-V 与 ARM Cortex-M 开发差异对比》

XavierKong的博客 44

使用位运算求正数的相反数

对于负数而言,求相反数就是求其绝对值,上篇博客已经给出了用位运算求绝对值的方法。这篇博客给出用位运算求正数的相反数的方法。我们知道,对于用源码表示的数中,如果一个正数和一个负数除符号位不同,其他位均相同的话,那么他们互为相反数。从这个规则可知,如果我们将一个正数的符号位取反,那么将得到这个数用原码表示的相反数。同时,我们知道计算机里面的数是用补码形式存储的,而且负数的补码是原码除符号位外其余位取反...

choumin的专栏 1528

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

位运算实现求一个数的相反数

位运算求相反数

明朗晨光的专栏 1631

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

位运算案例

总结: Java位运算是针对于整型(byte、char、short、int、long)数据类型的二进制进行的移位操作。 位运算认知* 数据类型 位数 byte 8 boolean 8 short 16 int ...

qq_41975509的博客 434

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

位运算的常用操作总结

位运算是一个神奇的运算,可以很巧妙的解决一些难题,同时速度还非常快。下面将介绍位运算基本的概念,以及位运算的一些常用方法。1、位运算的基本概念图片来自谷歌。 这里需要注意的是,位运算的时候全部都是换算成二进制的,一般都是32位的长度。2、常用的位运算方法2.1 交换两个数 int x = 1, y = 2;

哆啦A梦的博客 1191

练习- Java位运算之综合练习

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。// 第一步:使用位运算符判断 x 的奇偶性 如果 x 为 1,是奇数,换行输出:1 为奇数。* 1. 使用位运算符判断 x 的奇偶性,如果 x 为 1,是奇数,换行输出:1 为奇数;* 3. 使用位运算符求取变量 x 和 y 的平均值,将结果不换行输出。// 第四步:使用位运算符求取变量 x 和 y 的平均值。* 2. 对于变量 y,使用位运算符求取它的相反数,将结果换行输出;// 第二步:对于变量 y,使用位运算符求取它的相反数。

千浔的博客 795

二进制与位运算符的理解与应用

关于二进制 计算机中的任何数据都是二进制形式存储的,需要理解以下几个概念: 原码: 整数按照绝对值的大小转换成的二进制数,称为原码.负数的原码按照绝对值大小转换成的二进制数,然后最高位补1. 如: 7的原码为: 00000000 00000000 00000000 00000111, -7的原码为: 10000000 00000000 00000000 00000111 反码: 正数的反码与原...

qq_44000076的博客 583

逻辑代数与位运算

基础: 或运算 | ,逻辑代数中使用+   或0, 保持;或1,置1;而且同时为0,结果才为0; 与运算&,逻辑代数中使用      与1,保持;与0,清0;而且同时为1, 异或预算^,逻辑代数中使用^;    异或0,保持;异或1,取反。  三种逻辑运算,都有一种保持;剩下的刚好分别是清0,置1,取反。 +和*是对偶的(在分配律下看出)。相同运算符的运算,满足交换

zhouguoqionghai的博客 3341

CSAPP datalab

1.bitXor 函数功能:使用位运算实现异或 思路:将x中为0y中为1,x中为1y中为0的位提取出来,使得位不同的位为0,最后取反。 int bitXor(int x, int y) { return (((~x&y) & ((x&y)))); } 2.tmin 函数功能:返回int类型最小值 思路:int 类型的最小值是0x8000000,所以使用左移操作获取0x800...

tailuzhecom的博客 976

位运算可以实现哪些功能

位运算可以实现哪些功能           许多时候,我们为了减少算法的时间复杂度,都是推荐使用位运算,今天我们整理一下位运算可以实现哪些功能。 1. 乘除2     左移1位乘以2,左移n位乘以2^n;     右移1位除以2,右移n位除以2^n;     举个例子: #include using namespace std; int main() {

bigfacesafdasgfewgf 1580

JAVA语法--位运算

  位运算符有:<< , >> , >>> , & , | , ^ , ~   下面通过实验来学习这几种运算   以下的数据类型是 int 用32位表示,二进制右边的0省略   // 21和-21的二进制表示   System.out.println( Integer.toBinaryString(21)); // 10101 ...

weixin_30354675的博客 98

位运算的一些操作

求a+b a+b=a^b+2*(a&b); 求x的二进制后置0的个数 x&-x 判断奇偶 x&1; 判断是不是2n; !(n-1&n)&&n 求相反数 ~x+1; 去掉右起第一个1的左边 x & (x ^ (x-1)) 把右边连续的1变成0 x & (x+1) 把右起第一个0变成1 x | (x+1) 把右边连续的0变...

qq_43750980的博客 158

位运算.

1.  判断int型变量a是奇数还是偶数          a&1  = 0 偶数       a&1 =  1 奇数  2.  求平均值,比如有两个int类型变量x、y,首先要求x+y的和,再除以2,但是有可能x+y的结果会超过int的最大表示范围,所以位运算就派上用场啦。       (x&y)+((x^y)>>1);  3.  对于一个大于0的整数,判断它是不是2的几次方    

蔷薇夜月的博客 407

位运算应用

1.判断int变量是奇数还是偶数 a & 1 = 0 偶数 a & 1 = 1 奇数 2.求平均值比如,有两个int类型的变量a和b,求平均数应该是二者相加再除以2,然后,相加后,有可能溢出,所以此时采用位运算平均值 = (x & y )+ ((x ^ y)>>1)3.判断一个int变量是不是2的n次幂((x & (x - 1))== 0)&&(x != 0)该式为true,则是2的n次幂,

Eric's Blog 495
上一篇: 二叉树
下一篇: 哈夫曼树
Everlasting2016
博客等级 码龄11年 22粉丝 147原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值