首页 > 其他分享 >位运算 --20240310

位运算 --20240310

时间:2024-03-10 15:23:35浏览次数:22  
标签:20240310 运算 -- bit8 bit10 reg

位运算在linux内核或裸驱中使用十分常见,下面是两种使用方式在此记录:   对寄存器进行操作: 举个例子, 1、清除bit8-bit10,并将bit8-bit10设置为0x2

reg = (reg & (~(0x7 << 8)) | (0x2 << 8));
2、将bit4置一和置零
reg = (reg & (~(0x1<<4))) | (0x0 << 4); // bit4置零 reg = (reg & (~(0x1<<4))) | (0x1 << 4); // bit4置一
  实际应用:
#define BIT(nr)                 (1UL << (nr))    // 指定nr位置设置为1

#ifdef  CONFIG_ARM64
#define BITS_PER_LONG 64
#else
#define BITS_PER_LONG 32
#define GENMASK(h, l) \
          (((~0UL) << (l)) & (~0UL >> (BITS_PER_LONG - 1 - (h))))    // 生成一个位掩码,其中参数h和l分别表示要设置为1的最高位和最低位的位置。

 

 

标签:20240310,运算,--,bit8,bit10,reg
From: https://www.cnblogs.com/lethe1203/p/18064213

相关文章

  • SMU Winter 2024 div2 ptlks的周报Week 5(3.4-3.10)
    维护子树的全部子树的权值和时,需要用到树的DFS序列,树的每个子树都对应DFS序列中的连续一段黄金树影题意:给定一棵树及每个节点的权值,给定一组操作,输入1ax,表示节点a权值加上x;输入2a,表示询问节点a的子树权值和(包含a)。考虑到树的DFS序列,则问题转变为对某个序列维护区间和以......
  • 在Java中,HashMap中是用哪些方法来解决哈希冲突的?
    HashMap中调用hashCode()方法来计算hashCode。由于在Java中两个不同的对象可能有一样的hashCode,所以不同的键可能有一样hashCode,从而导致冲突的产生。采用链地址法解决冲突。HashMap底层是数组+链表+红黑树(JDK1.8)来实现的,根据key的hash值查找对应的位桶。1.当前索引数组为空,则......
  • IIC
    IICIIC总线结构图IIC协议时序软件模拟IIC协议示例代码起始信号voidiic_start(void){/*SCL为高电平期间,SDA从高电平往低电平跳变*/IIC_SDA(1); IIC_SCL(1);iic_delay(); IIC_SDA(0); iic_delay();IIC_SCL(0); iic_delay();......
  • SPI
    SPISPI介绍SPI:串行外设设备接口(SerialPeripheralInterface),是一种高速的,全双工,同步的通信总线。功能说明SPI总线IIC总线通信方式同步串行全双工同步串行半双工总线接口MOSI、MISO、SCL、CSSDA、SCL拓扑结构一主多从/一主一从多主从从机选择片选......
  • P2032 扫描
    原题链接题解原题等价于求以\(i,(i>=k)\)为右端点,长度为\(k\)的区间内的最大元素\(\to\)由于维护的区间是定值,所以我们可以用单调队列维护,单调队列中保证元素大小从头到尾降序,且下标升序这样一来,我们便可以保证下标在指定范围内,然后取最大值也只需要\(O(1)\)的时间复杂度......
  • 蓬莱enclave TEE编译和运行说明
    蓬莱enclave-spmp编译和运行说明蓬莱是一个RISC-VTEE系统,其设计具有安全性,高性能和可扩展性。基于PMP的OpenSBI版本的蓬莱Enclave使用可以参考下文,具体仓库地址为:https://github.com/Penglai-Enclave/Penglai-Enclave-sPMPpenglai编译环境准备创建~/dev目录,将sdk、penglai-e......
  • spring-security源码-如何初始化SecurityFilterChain到Servlet
    1.SecurityFilterChain是由HttpSecurty根据各个config配置生成的FilterSecurityFilterChain是接口,默认实现是由DefaultSecurityFilterChainSecurityFilterChain只充当描述的作用,描述哪些url走这批filterpublicfinalclassDefaultSecurityFilterChainimplementsSecurityF......
  • P2866 [USACO06NOV] Bad Hair Day S
    原题链接题解1.倒序求2.求每个点前有多少高度比自己小的3.高度函数图像是有升有降的,由于要求比自己小的,在求完之后,我们把所有点前比自己小的点缩起来放到自己身上,然后把那些点删掉,再插入自己这样序列就变成了降序,遍历的时候也只需要遍历那些降序点code#include<bits/stdc++......
  • golang开发_goroutine在项目中的使用姿势
    很多初级的Gopher在学习了goroutine之后,在项目中其实使用率不高,尤其一些跨语言过来的人,对并发编程理解不深入,可能很多人只知道gofunc(),或者掌控不够,谨慎一些,尽量少使用或者不使用,用的话就是gofunc(),主要列一下我们这边的主要使用方法。goroutine在项目中的使用方法看一下样......
  • 【查询分离】
    参考:软件架构场景实战22讲  查询分离:表数据量大查询缓慢如何优化背景:数据量大,且关联多个子表、查询时间长索引优化不明显,冷热数据分离无法解决数据持续更新使用场景:实现思路1、如何触发查询分离方案:修改业务代码:写入常规数据后,同步建立查询数据......