三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

修改寄存器的位操作方法

修改寄存器的位操作方法

某一位(不分组):

对变量某位清零: a &= ~(1 <<N);

对变量某位置1: a |= (1 <<N);

对变量某位取反: a ^= (1 <<N);

分组(连续位)的情况:

A << (B*C):A表示要使用的二进制数,B表示要移动的一组位数,A和B同位宽;C表示第几组

对变量某几位清零: a &= ~(A << (B*C)); 其中要清零组中哪一位,A中这一位为1

对变量某几位置1: a |= A << (B*C); 其中要置1 的位,在A中这位为1

对变量某几位取反: a ^= (A << (B*C)); 其中要取反的位,在A中这位为1

← 返回列表