一、3 种基础位运算口诀(必考填空 / 选择)
- 按位与 & 口诀:同 1 出 1,有 0 出 0 运算规则:对应二进制位,两位都是 1 结果才是 1,只要有一位 0 结果就是 0 特殊用途考点:
- 清零:
x & 0 = 0 - 取指定位:
x & 1只保留二进制最后一位(判断奇偶) 例:5(0101) & 3(0011) = 0001 = 1
- 按位或 | 口诀:有 1 出 1,全 0 才 0 运算规则:对应位任意一个 1,结果就是 1;两位全 0 才得 0 用途:给二进制某一位置 1 例:
5(0101) | 3(0011) = 0111 = 7 - 按位异或 ^ 口诀:相同为 0,不同为 1 运算规则:两位一样 = 0,两位不一样 = 1 高频性质(选择题常客): ①
x ^ x = 0自身异或清零 ②x ^ 0 = x和 0 异或数值不变 ③ 交换两个变量(不用中间变量):a=a^b; b=a^b; a=a^b;例:5(0101) ^ 3(0011) = 0110 = 6
二、移位运算符 <<左移、>> 右移(超级高频)
1. 左移 << (低位补 0,高位舍弃)
公式:正数 x << n 等价 x * 2ⁿ 例:3 << 2 3 二进制:00000011 左移 2 位:00001100 = 12,等价 3*4=12
2. 右移 >>
- 无符号正数 :高位补 0,低位舍弃,
x >> n = x / 2ⁿ(整除向下取整) 例:12 >> 2 = 3 - 有符号负数(int):高位补符号位 1(算术右移),二级考试极少考负数移位
三、位运算综合必背真题例题(直接背答案)
例题 1 基础计算
int a=5,b=3;
printf("%d",a&b); // 1
printf("%d",a|b); // 7
printf("%d",a^b); // 6
例题 2 奇偶判断(选择常考)
int n;
if(n & 1) // 结果为1是奇数,0是偶数
原理:二进制末尾为 1 是奇数,&1 只保留最后一位
例题 3 异或交换两数(填空考点)
int a=2,b=5;
a = a ^ b;
b = a ^ b;
a = a ^ b;
// 最终a=5,b=2
例题 4 左移乘法
int x=4;
x = x << 1; // 等价4*2=8
x = x << 3; // 8*8=64
例题 5 右移除法
int x=16;
x = x >> 2; // 16/4=4
四、位运算优先级(选择题易混)
算术运算符 > 移位<< >> > 关系运算 > & > ^ > | > 逻辑运算 速记:移、与、异或、或,从高到低
五、选择判断题背诵考点
- 按位与、或、异或操作对象只能是整型 char/short/int/long,浮点 float/double 不能用位运算。
&和&&区别:&:按位与,二进制运算,两边都会计算&&:逻辑与,短路运算,左边假右边不执行
|和||同理:|按位或;||逻辑或短路- 任何数异或自身结果一定是 0;任何数异或 0 等于自身。
- 左移不会改变正负符号(正数);有符号数右移高位补符号。
六、填空押题(背完整代码)
题目:不使用中间变量交换两个整数
#include <stdio.h>
int main(){
int a=10,b=20;
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("a=%d,b=%d",a,b);
return 0;
}
七、计算速算模板(考场直接套)
- 先把十进制转 8 位二进制
- 上下对齐,逐位套口诀计算
- 二进制转回十进制输出 示例:计算
9^69:1001 6:0110 异或:1110 = 14
人人皆为创造者,共创方能共成长
每个人都是使用者,也是创造者;是数字世界的消费者,更是价值的生产者与分享者。在智能时代的浪潮里,单打独斗的发展模式早已落幕,唯有开放连接、创意共创、利益共享,才能让个体价值汇聚成生态合力,让技术与创意双向奔赴,实现平台与伙伴的快速成长、共赢致远。
原创永久分成,共赴星辰大海
原创创意共创、永久收益分成,是东方仙盟始终坚守的核心理念。我们坚信,每一份原创智慧都值得被尊重与回馈,以永久分成锚定共创初心,让创意者长期享有价值红利,携手万千伙伴向着科技星辰大海笃定前行,拥抱硅基 生命与数字智能交融的未来,共筑跨越时代的数字文明共同体。
东方仙盟:拥抱知识开源,共筑数字新生态
在全球化与数字化浪潮中,东方仙盟始终秉持开放协作、知识共享的理念,积极拥抱开源技术与开放标准。我们相信,唯有打破技术壁垒、汇聚全球智慧,才能真正推动行业的可持续发展。
开源赋能中小商户:通过将前端异常检测、跨系统数据互联等核心能力开源化,东方仙盟为全球中小商户提供了低成本、高可靠的技术解决方案,让更多商家能够平等享受数字转型的红利。
共建行业标准:我们积极参与国际技术社区,与全球开发者、合作伙伴共同制定开放协议 与技术规范,推动跨境零售、文旅、餐饮等多业态的系统互联互通,构建更加公平、高效的数字生态。
知识普惠,共促发展:通过开源社区 、技术文档与培训体系,东方仙盟致力于将前沿技术转化为可落地的行业实践,赋能全球合作伙伴,共同培育创新人才,推动数字经济 的普惠式增长
阿雪技术观
在科技发展浪潮中,我们不妨积极投身技术共享。不满足于做受益者,更要主动担当贡献者 。无论是分享代码、撰写技术博客,还是参与开源项目 维护改进,每一个微小举动都可能蕴含推动技术进步的巨大能量。东方仙盟是汇聚力量的天地,我们携手在此探索硅基 生命,为科技进步添砖加瓦。
Hey folks, in this wild tech - driven world, why not dive headfirst into the whole tech - sharing scene? Don't just be the one reaping all the benefits; step up and be a contributor too. Whether you're tossing out your code snippets , hammering out some tech blogs, or getting your hands dirty with maintaining and sprucing up open - source projects, every little thing you do might just end up being a massive force that pushes tech forward. And guess what? The Eastern FairyAlliance is this awesome place where we all come together. We're gonna team up and explore the whole silicon - based life thing, and in the process, we'll be fueling the growth of technology