当前位置: 首页 > news >正文

【笔试题】位运算

记录一些常见的位运算题:


1、实现对一个8bit数据(unsigned char类型)的指定位(例如第n位)置0或者置1操作,并保持其他地位不变。

unsigned char reg;/* 对第n位置0 */
reg &~= (1 << n);/* 对第n位置1 */
reg  |= (1 << n);

这个操作常用在对寄存器的配置上,做驱动开发的,需要配置寄存器的某一位,在不确定寄存器该位的具体值的情况下,通常是先将其清0,再将其置位。

2、UART寄存器(32位)地址位0x10000000,写出将第2~第10位区域置为0x1F的代码段:

unsigned int reg_addr = 0x10000000;
*(volatile unsigned int *)reg_addr &~= (0xff << 2);
*(volatile unsigned int *)reg_addr  |= (0x1f << 2);

http://www.lryc.cn/news/220674.html

相关文章:

  • RT-Thread 10. 使用keil4编译GD32F450
  • Vue 跨域的两种解决方式
  • 【windows Docker 安装mysql:只需3条命令】
  • 【软件逆向】如何逆向Unity3D+il2cpp开发的安卓app【IDA Pro+il2CppDumper+DnSpy+AndroidKiller】
  • vue3ref和reactive
  • [架构之路-244]:目标系统 - 设计方法 - 软件工程 - 软件开发方法与软件开发模型
  • Matter 系列 #10|Matter 的证书吊销机制
  • mybatis动态表名
  • 高校为什么需要大数据挖掘平台?
  • @Value的使用
  • 用 Wireshark 在 Firefox 或 Google Chrome 上使用 SSLKEYLOGFILE 环境变量解密 SSL 流量
  • 京东大数据:2023年Q3美妆行业数据分析报告
  • [题] 改革春风吹满地 #图论 #多边形面积
  • FPGA时序分析与约束(2)——时序电路时序
  • 明御安全网关任意文件上传漏洞复现
  • JVM虚拟机:如何查看自己的JVM默认的垃圾回收器
  • 目标检测YOLO系列从入门到精通技术详解100篇-【目标检测】机器视觉
  • 设计模式——建造者模式
  • Go语言用Colly库编写的图像爬虫程序
  • 14.2 并发与竞争实验
  • 【MediaTek】T750实现Host 网络和Guest 网络隔离以及各个连接终端间隔离功能
  • 数字滤波器之高通滤波器设计
  • 【leetcode】58.最后一个单词的长度
  • 用Java(C语言也可以看)实现冒泡排序和折半查找(详细过程图)+逆序数组
  • antd本地上传excel文件并读取文件的数据转为json
  • BI数据可视化:不要重复做报表,只需更新数据
  • fiddler抓包拦截请求转发到其他地址
  • 【Shell编程】| if 判断
  • Java手动引入Maven依赖的Jar包
  • 计算机毕设 基于大数据的社交平台数据爬虫舆情分析可视化系统