C語言位運算不完全指南
21級航類的兄弟姐妹們,記住下面的宏定義?你們做任何位運算的題都不慌了
下面的代碼是針對int寫的,如果你要用于long long?請小心溢出,需要自行解決數(shù)據(jù)范圍的問題.
1:把整數(shù)x指定第n位讀出來 注意數(shù)據(jù)范圍 n=0,1,...,31
2:把整數(shù)x指定第n位 置成1 注意沒有返回值,數(shù)據(jù)范圍和x為變量(因為要賦值)
3:把整數(shù)x指定第n位 置成0?注意沒有返回值,數(shù)據(jù)范圍和x為變量(因為要賦值)
4:翻轉(zhuǎn)整數(shù)x指定第n位?注意沒有返回值,數(shù)據(jù)范圍和x為變量(因為要賦值)
5:循環(huán)左移 把n位二進制數(shù)X循環(huán)左移i位?注意數(shù)據(jù)范圍(i和n都要注意范圍 如果是long long需要改哪里)
6:循環(huán)右移?把n位二進制數(shù)X循環(huán)右移i位?注意數(shù)據(jù)范圍(i和n都要注意范圍 如果是long long需要改哪里)
剩下的就是在這個的基礎(chǔ)上涂涂改改了
給一個邏輯函數(shù)的真值表你可以用位運算湊出來.
標(biāo)簽: