您的位置:首页 > 其它

ACM_位运算总结

2011-11-13 21:58 162 查看
~ | & ^ << >>

这些都是按位运算,什么意思?就是一位一位的进行运算。

所以 ! 和 ~ 是不同的。

基本的操作:

and ----- &

or ----- |

取反 ----- ~

异或 ----- ^

同或 ----- ~(^) // 异或后求反

<<(左移) >>(右移)

(真值表很容易在网上搜到,就不列了)

这5个基本的运算可以求出很多意想不到的东西。

下面是一些自己总结的:

一般位运算分为:取位操作、改位操作、功能性的操作。

取出某个数的某一位:

摘自USACO的summary

a |= 0x20;        /* turn on bit 0x20 */
a &= ~0x20;        /* turn off bit 0x20 */
a ^= 0x20;        /* toggle bit 0x20 */
if (a & 0x20) {
/* then the 0x20 bit is on */
}


一个位运算的地址:http://www.matrix67.com/blog/archives/266
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: