社区
C++ 语言
帖子详情
两负数异或的问题
youyou1912
2013-03-21 09:12:58
int x = -100;
int y = -1;
int z = x^y;
最后z= 99 而不是 101 为什么呢?
最高位符号位异或为0变正数, 最低位0^1应该变1. 也就是增加+1. 现在变成-1了.
请指教. 谢谢.
...全文
641
5
打赏
收藏
两负数异或的问题
int x = -100; int y = -1; int z = x^y; 最后z= 99 而不是 101 为什么呢? 最高位符号位异或为0变正数, 最低位0^1应该变1. 也就是增加+1. 现在变成-1了. 请指教. 谢谢.
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
youyou1912
2013-03-21
打赏
举报
回复
对了, 负数用补码表示, 我弄错了. 晕. 谢谢几位.
wenhong609
2013-03-21
打赏
举报
回复
数据用补码表示,估计是你的补码搞错了吧!
ForestDB
2013-03-21
打赏
举报
回复
LZ还能说出-100存的啥样子?
fox_carnival
2013-03-21
打赏
举报
回复
打错了一个地方,以1个字节为例
fox_carnival
2013-03-21
打赏
举报
回复
int以2个字节为例: -100的补码:1001 1100 -1的补码: 1111 1111 异或后: 0110 0011 结果就是十进制99
牛客 子数组最大
异或
和
题目链接:https://www.nowcoder.com/practice/43f62c52fbac47feaeabe40ac1ab9091?tpId=101&tqId=33209&tPage=1&rp=1&ru=/ta/programmer-code-interview-guide&qru=/ta/programmer-code-intervi...
leetcode260之Java中的
异或
运算
Java
异或
、原码、反码、补码
5.3 位运算专题:LeetCode 371.
两
整数之和
LeetCode 371.
两
整数之和:位运算的巧妙应用
按位
异或
与重新排列:从表达式化简到Trie优化
位运算是算法竞赛和工程优化中的基础工具,按位
异或
(XOR)因其独立计算与自反性,常成为化简复杂表达式的关键。当题目允许重新排列数组元素时,顺序自由度往往隐藏着可数学简化的结构。将相邻
异或
和展开后发现中间项全部抵消,
问题
收敛为经典的最大
异或
对
问题
。在此基础上,引入字典树(Trie)按位贪心匹配,以O(n×31)复杂度实现高效查询,并讨论位宽、
负数
、数组越界等工程陷阱。该方法广泛应用于LeetCode周赛、大数据去重及相似性检索等场景,掌握从代数化简到高级数据结构的思维路径,是解决位运算题的核心能力。
COJ 1216:
异或
最大值(01字典树)
题意:求n个非
负数
中任意2个的
异或
值的最大值。n数量级为10^5 分析:直接暴力肯定超时了。一个非负整数可以看成1个32位的01字符串,n个数可以看成n个字符串,因此可以建立字典树,建好树后,对于任意非负整数x,可以沿着树根往下贪心找到y,使得x
异或
y最大,复杂度为树的深度。 View Code #include <stdio.h> #include <string...
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章