社区
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了.
请指教. 谢谢.
...全文
628
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.
两
整数之和:位运算的巧妙应用
COJ 1216:
异或
最大值(01字典树)
题意:求n个非
负数
中任意2个的
异或
值的最大值。n数量级为10^5 分析:直接暴力肯定超时了。一个非负整数可以看成1个32位的01字符串,n个数可以看成n个字符串,因此可以建立字典树,建好树后,对于任意非负整数x,可以沿着树根往下贪心找到y,使得x
异或
y最大,复杂度为树的深度。 View Code #include <stdio.h> #include <string...
剑指 Offer 65. 不用加减乘除做加法
题目链接:leetcode. 简单题,我是笨比 ( ̄_ ̄|||) 先利用
异或
^,求a和b每一位的无进位和sum,再利用与&,求取每一位上的进位carry 然后将carry左移一位,与求得的sum相加,可以让a等于sum,b等于carry,如此循环,直到没有进位,则返回sum 注意,如果carry是有符号数,C++不支持
负数
的左移,在a = 1,b = -1时,会因为carry算得10000…00 = -2147483648而无法左移runtime error: left shift of negat
C++ 语言
65,212
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章