小結 c 位運算的運用

2022-05-04 09:27:10 字數 902 閱讀 1443

去掉最後一位 | (101101->10110) x >> 1

在最後加乙個0 | (101101->1011010) x << 1

在最後加乙個1 | (101101->1011011) x << 1+1

把最後一位變成1 | (101100->101101) x | 1 把最後一位變成0 | (101101->101100) x | 1-1 最後一位取反 | (101101->101100) x^1

把右數第k位變成1 | (101001->101101,k=3) x | (1 << (k-1)) 把右數第k位變成0 | (101101->101001,k=3) x & ~ (1 << (k-1))

右數第k位取反 | (101001->101101,k=3) x ^(1 << (k-1))

取末三位 | (1101101->101) x & 7

取末k位 | (1101101->1101,k=5) x & (1 << k-1)

取右數第k位 | (1101101->1,k=4) x >> (k-1) & 1

把末k位變成1 | (101001->101111,k=4) x | (1 << k-1) 末k位取反 | (101001->100110,k=4) x ^(1 << k-1)

把右邊連續的1變成0 | (100101111->100100000 x & (x+1)

把右起第乙個0變成1 | (100101111->100111111) x | (x+1) 把右邊連續的0變成1 | (11011000->11011111) x | (x-1) 取右邊連續的1 | (100101111->1111) (x^(x+1)) >> 1

去掉右起第乙個1的左邊 | (100101000->1000) x & (x^ (x-1))

取右邊第乙個1 |(101010->10) x&-x

位運算的實踐運用

判斷乙個數的奇偶 var n 2n 1 0 var n 1n 1 1向下取整 1.2 1 1.8 1 1.8 0 1 1.14 0 1 1.14 0 1 1.14 0 1 不可對負數取整 2的倍數乘除法 1 2 4 1的2進製左移2位,即乘2的2次方 8 2 2 8的2進製右移2位,即除2的2次方比...

位運算小結

當你做乙個非常大的數的乘除運算時,你就會為位運算感嘆,為之驚人的速度而感動!下面是我總結的一點點位運算的應用 位運算子有 按位與 按位或 按位異或 按位取反 優先順序從高到低,依次為 1.左移1位相當於乘以2 左移2位相當於乘以4 依次類推左移n位相當於乘以2 n 注意 兩個運算元必須是int 2....

位運算小結

聽attack學長講完課,整理一波 1 1 1,1 0 1,0 0 0 1 1 1 1 0 0,0 0 0 1 bigoplus 1 0,1 bigoplus 0 1,0 bigoplus 0 0 異或性質 1.a bigoplus a 0 2.a bigoplus 0 a 3.a bigoplus...