嵌入式从0到精通——C语言位运算

发布时间:2026/10/16 14:29:23
嵌入式从0到精通——C语言位运算 1.位运算 按位于 全1为1有0为0 | 按位或 有1为1全0为0 ^ 按位异或 相同为0相异为1 ~ 按位取反 1取反为00取反为1 按位左移 按位左移低位补0 nun n num 2^n 按位右移 按位右移有符号数高位补符号位 num n num/2^n位运算的使用1.指定n位置10000 0000 -- 0000 0100 0000 0001 1 3 0000 0000 1010 0000 | 0000 1000 1010 1000 num num | 1 n;2.指定n位清01010 1000 -- 1010 0000 1111 0111 // 1 3 然后取反 1010 1000 1111 0111 1010 0000 num num ~(1 n);3.两数交换// 使用异或运算交换两个整数 int a 5; // 二进制: 0101 int b 3; // 二进制: 0011 // 第一步: a a ^ b // a 0101 ^ 0011 0110 (6) // b 0011 (3) // 第二步: b a ^ b // a 0110 (6) // b 0110 ^ 0011 0101 (5) // 第三步: a a ^ b // a 0110 ^ 0101 0011 (3) // b 0101 (5) // 最终结果: a3, b5 // 代码实现: a a ^ b; // 第一步 b a ^ b; // 第二步 a a ^ b; // 第三步 // 或者写成一行: // a ^ b ^ a ^ b;按位运算符的优先级从大到小~ ^ |2.程序调试方法1.打印调试程序运行过程中打印输出 printf( num %d,num);2.gdb调试gnut提供的Linux下的代码调试工具。1.使用gdb调试逻辑错误2.使用gdb调试段错误rwhere 定位段错误的位置1.编译程序 -g选项允许使用gdb进行调试gcc main.c -g;2.使用gdb调试程序gdb ./可执行程序gdb ./a.out3.gdb指令l 列出源代码b行号 在指定行打断点r 运行程序n 执行下一行代码p 变量名 查看变量值q 退出gdbs 跟进函数

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询