规范的位操作方法
来源:互联网 发布:mac外接显示器不清楚 编辑:程序博客网 时间:2024/05/18 02:13
规范的位操作方法
1. 对某一位清零操作
a &= ~ (1<<6) // 括号内的的1向左移动6位 得到 0100 0000
// 对结果取反 1011 1111
//“&”操作的特点是 遇0则0 ,见1不变 。 那么最后结果是 a的第七位(bit6) 清零,其他位不变
2. 对某一位置位操作
a |= (1<<6) //括号内的1向左移动6位 得到 0100 0000
// “ | ”或操作的特点是 遇1则1 , 见0不变。 那么最后的结果是 a的第七位(bit6) 置位, 其他位不变
3. 对某一位取反操作
a ^= (1<<6) //括号内的1向左移动6位 得到 0100 0000
// " ^ "异或操作的特点是 不同值为1,相同值归零。 那么最后的结果是 a的第七位(bit6) 取反, 其他位不变
以上操作的优点 :
如果有一个寄存器 要对其中的一个位 进行配置。而不希望影响其他的位
eg: PCON = 0011 0101 , 要对bit(6) 进行配置 ,如果按以前的方式 操作: PCON = 0111 0101 ;
这么做的缺点很明显,很容易在这么多的0 、1 之间迷失。 如果失误把其中的某一位配置错了 ,后果将是你怎么找 都找不到这个疏忽,工程很有可能在这个
小疏忽中 停留半年。 习惯决定水平!
0 0
- 规范的位操作方法
- 位操作方法
- 规范的位操作
- C语言位域操作方法
- 常用的文件操作方法
- DateTime的操作方法
- MC1000的基本操作方法
- 寄存器值的操作方法
- p5液晶面板的操作方法
- 窗体的操作方法
- 位图排序的操作方法
- String的常用操作方法
- EXT2的文件操作方法
- LDAP的java操作方法
- JS数组的操作方法
- 字符串的操作方法
- 线程常用的操作方法
- 图片的一些操作方法
- select @@Identity
- sqlldr理论深入学习
- Unity3d游戏之游戏日志打印
- poj 1723 SOLDIERS 中位数
- 合并两个有序数组(48页)
- 规范的位操作方法
- IE6下margin双倍边距Bug的处理办法
- HDU 2896 病毒侵袭(AC自动机)
- OpenGL 资源汇编
- 转载科学网文章-circos教程四
- mysql.go相关包
- Html5游戏的市场年谁能留住用户的心
- 3-ways-to-define-a-javascript-class/
- poj 1251 Jungle Roads(最小生成树)