位运算符及其使用

 我来答
天罗网17
2022-07-08 · TA获得超过6194个赞
知道小有建树答主
回答量:306
采纳率:100%
帮助的人:73.5万
展开全部

参考文献 http://blog.csdn.net/baitxaps/article/details/50160125

最高位是符号位;0表示正数;1表示负数

· 正数的原码、反码、补码相同
123的原码:00000000 00000000 00000000 01111011
123的反码:00000000 00000000 00000000 01111011
123的补码:00000000 00000000 00000000 01111011

· 负数的原码是按照绝对值转换后,最高位补1;反码是除符号位外,所有位取反;补码为反码加1;
-123的原码:10000000 00000000 00000000 01111011
-123的反码:11111111 11111111 11111111 10000100
-123的补码:11111111 11111111 11111111 10000101

平时进行的运算实则是反码之间的运算。

① 判断奇偶性
a & 1 == 0 ,a为偶数;a & 1 == 1,a为基数;
②求平均数
(a & b) + ((a ^ b) >> 1)
③x,y交换数据
x ^= y ; y^=x ; x^=y
④求绝对值
(a ^ (a >> 31) - (a >> 31))
⑤判断一个数是否是2的冥
a & (a - 1) == 0
⑥相反数
(~x + 1)
⑦作为标志位
eg:
red = 0001
blue = 0010
yellow = 0100

0111:代表红蓝黄
0101:代表红黄

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Sievers分析仪
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准... 点击进入详情页
本回答由Sievers分析仪提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式