Play Open
Loading Please wait Loading Please wait Loading Please wait Loading Please wait Loading Please wait Loading Please wait

寄存器某个位赋值、宏定义、头文件的条件编译及全局声明extern的使用

一、给寄存器的某个位进行赋值

C语言基础知识(位操作)

运算符

含义

运算符

含义

&

按位与

~

按位取反

|

按位或

<<

左移

^

按位异或

>>

右移

我们定义一个32位的寄存器变量:unit32_t temp=0;

从左到右依次是第1位,第2位......第32位

我们现在给第5位赋值,也就是让第5位为1,从右往左依次是1,2,3......32位。

我们主要有以下四种方法:

第一种方法是按位与:也就是让第5位为0,其余为1,即temp = temp&0xFFFFFF7F

第二种方法是按位或:也就是让第五位为1,其余为0,即temp = temp|0x00000010

第三种方法是左移操作与:让第五位为1,也就是让1左移5位,再取反temp&=~(1<<5)

第四种方法是左移操作或:让第五位为1,也就是让1左移5位,temp|=1<<5。

Copyright © 2088 神之降临者-硬核动作游戏门户 All Rights Reserved.
友情链接