Go でのビット操作: 個々のビットの設定とクリア
Go では、整数内の個々のビットを操作することは、さまざまな用途に役立つテクニックとなります。アプリケーション。これを実現する 1 つの方法は、ビット単位の操作を使用することです。
ビットの設定
特定の位置にビットを設定するには、次の関数を使用できます:
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