首頁  >  文章  >  後端開發  >  按位取反運算符的使用

按位取反運算符的使用

藏色散人
藏色散人原創
2019-06-03 14:21:498806瀏覽

按位取反運算符的使用

位元取反運算子的使用

位元取反運算子是依照二進位的每一位取反,例如byte類型,~0的結果就是255。

此函數可以在mask中做一些反轉運算

如下程式碼,a存放了2,4,8三個值。用位元取反'~'運算子反轉

列印結果是 false,flase,false,true,true。 Mask已經被反轉

class Program
{
    static void Main(string[] args)
    {
        byte a = 2 | 4 | 8;
        byte b = (byte)~a;
        Console.WriteLine((b & 2) == 2);
        Console.WriteLine((b & 4) == 4);
        Console.WriteLine((b & 8) == 8);
        Console.WriteLine((b & 16) == 16);
        Console.WriteLine((b & 32) == 32);
        Console.Read();
    }
}

例如在unity引擎中,該操作可以使用在LayerMask上:

public class LayerMaskTest : MonoBehaviour
{
    public LayerMask layerMask;
    
    void OnEnable()
    {
        layerMask.value = ~layerMask.value;
    }
}

按位取反運算符的使用

以上是按位取反運算符的使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn