c语言学习笔记(8)位运算符,++,--运算符的用法

C语言学习笔记(8):位运算符、++、-- 运算符的用法

一、位运算符(Bitwise Operators)

C语言提供了6个位运算符,用于直接操作整数的二进制位(bit)。常用于底层编程、嵌入式、性能优化等场景。

运算符名称用法示例说明二进制示例(假设 a=5 (0101), b=3 (0011))
&按位与a & b对应位都为1才为1,否则为00101 & 0011 = 0001(1)
``按位或`ab`
^按位异或a ^ b对应位不同为1,相同为00101 ^ 0011 = 0110(6)
~按位取反~a所有位翻转(0变1,1变0)~0101 = 1010(补码表示-6)
<<左移a << n所有位向左移动n位,低位补00101 << 1 = 1010(10)
>>右移a >> n所有位向右移动n位(有符号数高位补符号位,无符号补0)0101 >> 1 = 0010(2)

实用技巧示例

  1. 判断奇偶数(比 %2 更快)

    if(num&1)printf("奇数");elseprintf("偶数");
  2. 交换两个数(不用临时变量)

    a^=b;b^=a;a^=b;
  3. 清除最低位的1(常用于位操作题)

    num=num&(num-1);// 例如 0100 & 0011 = 0000
  4. 获取最低位的1

    lowest_bit=num&-num;// 补码技巧
  5. 快速乘2 / 除2

    x=x<<1;// x *= 2x=x>>1;// x /= 2(无符号数或正数)
二、++ 和 – 运算符(自增自减)
运算符名称用法示例说明执行顺序与返回值
++自增++ii++将变量值加1前置++:先加后用,返回加后的值
后置++:先用后加,返回原值
--自减--ii--将变量值减1同上

关键区别:前置 vs 后置

inta=5;intb=++a;// 前置:a先加1变成6,然后b=6printf("a=%d, b=%d\n",a,b);// 输出 a=6, b=6intc=5;intd=c++;// 后置:先把c的原值5赋给d,然后c再加1printf("c=%d, d=%d\n",c,d);// 输出 c=6, d=5

常见陷阱(容易出错的代码)

inti=1;printf("%d\n",i+++++i);// 未定义行为!不同编译器结果不同(禁止这样写)intj=1;j=j++;// 未定义行为!结果不确定

正确使用建议

循环中的经典用法

for(inti=0;i<10;i++){// i++ 等价于 i = i + 1printf("%d ",i);}// 输出 0 1 2 ... 9
三、总结对比
运算符类型运算符优先级结合性常见用途
位运算~取反、位掩码
<< >>次高移位、快速乘除
&取特定位、清除位
^异或交换、校验
|设置位
自增自减++ –最高计数器、循环控制

学习建议

掌握这两部分,你对C语言的底层控制能力会大幅提升!下一节可以继续学习条件运算符和逗号运算符。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1119452.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文献综述轻松搞定:百考通AI智能助手是如何成为科研工作者的“学术地图”?

在学术探索的征途上&#xff0c;文献综述往往是横亘在众多研究者&#xff0c;尤其是毕业生面前的第一道难关。面对海量文献&#xff0c;如何高效筛选、精准把握领域脉络、逻辑清晰地表述&#xff0c;成为许多人的痛点。今天&#xff0c;我们将深入了解一款真正懂学术的智能伙伴…

不连 Xcode,也能把 iPhone App 的实时日志看清楚

在调试 iOS App 的过程中&#xff0c;日志几乎是最先被依赖、也是最容易受限的一环。 很多人第一次遇到问题&#xff0c;都是在这种场景下&#xff1a; App 在测试机或用户手机上出现异常&#xff0c;但设备不是开发模式&#xff1b; 或者手机在 Windows 环境下&#xff0c;根本…

MySQL定期备份

命令备份 ./mysqldump -u root -p123456 --opt --default-character-set=utf8 -e --triggers -R --hex-blob --flush-logs -x platform -x l_log_whitelist -w "time < 2025

双管齐下:百考通AI如何破解论文“查重”与“查AI”的双重困境

在当今高校毕业论文审核中&#xff0c;超过85%的毕业生对查重环节感到焦虑&#xff0c;而近六成学生则在合理使用AI辅助工具与规避“学术不端”红线之间难以把握平衡。随着ChatGPT等大模型的普及&#xff0c;学术检测已从单一的“文字重复率”检测&#xff0c;扩展到了“AI生成…

交易所生死局:这套做市商系统如何让流动性枯井变涌泉?

引言&#xff1a;流动性——数字资产市场的生命线在加密货币市场日均交易量突破3000亿美元的今天&#xff0c;流动性已成为衡量交易所竞争力的核心指标。当某头部交易所因单日流动性枯竭导致BTC/USDT交易对滑点飙升至1.2%时&#xff0c;数万笔订单被迫取消&#xff0c;用户资产…

前端:VUE2

vue官网&#xff1a;https://cn.vuejs.org/服务端渲染 服务器浏览器服务器浏览器#mermaid-svg-7LrgJWuVc08jOSgy{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@key…

毕业论文全流程智能辅导指南:百考通AI如何化解写作难题

当秋季学期开始&#xff0c;学校的毕业论文通知如期而至&#xff0c;从选题、开题到撰写、修改&#xff0c;再到提交、答辩&#xff0c;这场历时数月的“马拉松”让无数学生倍感压力。作为一名经历过这一切的过来人&#xff0c;我深刻理解其中的艰辛与挑战。 今天&#xff0c;…

COMSOL——底层逻辑弱形式

COMSOL的底层逻辑&#xff0c;如何去求解物理场的。通常一个微分方程是根据一个场φ的方程&#xff0c;这里的φ可以是温度场、电场等等。方程包含场φ本身、一阶导数项、二阶导数项等等&#xff0c;进行一个组合运算最后为0。对于每一个点&#xff0c;都要保证这个等式是成立的…

ToolBlock高级脚本之显示XYA和二维码

显示XYA和二维码 using Cognex.VisionPro.ImageProcessing; using Cognex.VisionPro.CalibFix; using Cognex.VisionPro.PMAlign; using Cognex.VisionPro.Caliper; using Cognex.VisionPro.Dimensioning; using Cognex.VisionPro.ID; using Cognex.VisionPro.Blob ; using Sys…

从0到1搭建RWA协议:链下资产上链的全链路攻略

引言&#xff1a;RWA——区块链与现实世界的“价值高速公路”在加密货币市值突破3万亿美元的今天&#xff0c;区块链技术正从“数字游戏”向“价值载体”进化。然而&#xff0c;一个残酷的现实是&#xff1a;全球99%的资产仍存在于链下世界——从黄金、房地产到股票、知识产权&…

图吧工具箱最新绿色版,内置电脑cpu硬盘硬件多种检测工具,绿色免费

下载链接 https://tool.nineya.com/s/1jbp2a27f 软件介绍 图吧工具箱&#xff0c;是开源、免费、绿色、纯净的硬件检测工具合集&#xff0c;专为计算机硬件极客、DIY爱好者、各路大神及小白制作。集成常见硬件检测、评分工具&#xff0c;一键下载、方便使用。 软件特点 专业…

四旋翼飞行器:从路径规划到轨迹跟踪的奇妙之旅

四旋翼飞行器轨迹跟踪仿真路径规划控制 路径规划与轨迹 最小加速度轨迹最小捕捉轨迹 四旋翼无人机嘿&#xff0c;各位技术宅们&#xff01;今天咱们来聊聊超酷炫的四旋翼飞行器&#xff0c;这玩意儿在无人机领域那可是相当热门。咱主要探讨探讨它的路径规划与轨迹跟踪仿真&…

三大删除命令:MySQL 核心用法解析

在面试中&#xff0c;当被问及TRUNCATE、DELETE和DROP的区别时&#xff0c;面试官的考察点往往不仅限于对三条命令的表面理解。其更深层的意图在于评估候选人是否具备以下维度的知识与能力&#xff1a;1.理解操作的本质分类&#xff1a;能否清晰辨别DDL&#xff08;数据定义语言…

2026年AI论文工具最新流出!8款免费神器实测,选题到降重一站式搞定!

紧急预警&#xff1a;2026论文季倒计时&#xff01;你还在靠熬夜赶稿&#xff1f; 凌晨3点的图书馆、满屏飘红的查重报告、导师第12次打回的修改意见——如果你正在经历这些&#xff0c;现在立刻停下无效加班&#xff01; 2026年最新AI论文工具已提前曝光&#xff0c;8款免费…

20260106_165519_大模型中的MCP、RAG、Agent定义及关系

MCP、RAG、Agent 是 LLM 应用架构的三大核心组件。 1、MCP&#xff08;Model Control Plane&#xff0c;模型控制平面&#xff09; 定义&#xff1a;管理 LLM 全生命周期的 “调度中枢”&#xff0c;负责模型选型、部署、负载均衡、版本控制、权限管理等。核心价值&#xff1…

在claude code中使用glm模型出现Unable to connect to Anthropic services的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

基于PLC的饮料灌装控制系统:从梯形图到组态画面的实现

S7-200 MCGS 基于PLC的饮料灌装控制系统 带解释的梯形图程序&#xff0c;接线图原理图图纸&#xff0c;io分配&#xff0c;组态画面在自动化生产领域&#xff0c;饮料灌装控制系统是一个典型应用场景&#xff0c;结合S7 - 200 PLC与MCGS组态软件能高效实现这一系统。下面我们来…

比Everything更好用!文档内容搜索神器,检索文档内文字内容,提高工作效率

下载链接 https://tool.nineya.com/s/1jbp36kuv 软件介绍 电脑日积月累的使用&#xff0c;在文件数量众多的情况下&#xff0c;要立刻找到对应的相关文字片段&#xff0c;是一件相当繁琐的事&#xff0c;Anytxt 致力于为用户轻松解决文件查找&#xff0c;提高工作效率。Anyt…

DAO 2.0技术白皮书:从DApp代码嵌入到共识治理的完整开发指南

引言&#xff1a;当DApp遇见DAO&#xff0c;一场权力结构的范式革命在Web3的浪潮中&#xff0c;DApp&#xff08;去中心化应用&#xff09;正以颠覆性姿态重塑互联网生态。从DeFi的借贷协议到NFT市场的创作者经济&#xff0c;从社交平台的链上身份到元宇宙的虚拟资产交易&#…

ACPI!ParseScope函数分析中的ACPI!ParseOpcode到ACPI!ParseTerm中的ACPI!ParsePackageLen

ACPI!ParseScope函数分析中的ACPI!ParseOpcode到ACPI!ParseTerm中的ACPI!ParsePackageLenMethod (_CRS, 0, Serialized) // _CRS: Current Resource Settings{CreateWordField (RSRC, \_SB.PCI0.ISA.MBRD._Y0E._MIN, PMMN) // _MIN: Minimum Base AddressCreateWordField (RS…