Go 中的位元操作:設定和清除各個位元
在Go 中,操作整數中的各個位元對於各種情況都是有用的技術應用程式。實現此目的的一種方法是透過位元運算。
設定位
要在特定位置設定位,可以使用下列函數:
func setBit(n int, pos uint) int { n |= (1此函數透過使用
清除位元
清除位元在特定位置,可使用下列函數:
func clearBit(n int, pos uint) int { mask := ^(1此函數透過使用 ^ 運算子反轉目標位置處的位元來建立遮罩。產生的遮罩實際上將目標位元設為 0。當您將此遮罩與原始整數進行 AND (&) 運算時,目標位元將被清除,而其他位元保持不受影響。
檢查位元是否為is Set
最後,您可以使用下列函數檢查是否設定了位元:
func hasBit(n int, pos uint) bool { val := n & (1 0 }此函數將整數與對應位元設為 1 的遮罩進行 AND 運算。如果結果大於 0,則表示目標位元已設置,函數傳回 true 。否則,返回 false。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3