<~ 演算子の使用例>
~ 演算子は、そのオペランドにビットごとの補数演算を実行し、各ビットを反転させます
符号を反転させるときに便利?
   class TestOperator
   {
       public TestOperator()
       {
           int[] values = { 0, 0x111, 0xfffff, 0x8888, 0x22000022 ,128,64,32};

           foreach (var item in values)
           {
               Console.WriteLine("{0:x8} {1:x8}   :   {0:d8} {1:d8}",item,~item+1);    //~演算子を付けた値に+1するとちょうど符号が反転した状態になる
           }
       }
   }

00000000 00000000   :   00000000 00000000
00000111 fffffeef   :   00000273 -00000273
000fffff fff00001   :   01048575 -01048575
00008888 ffff7778   :   00034952 -00034952
22000022 ddffffde   :   570425378 -570425378
00000080 ffffff80   :   00000128 -00000128
00000040 ffffffc0   :   00000064 -00000064
00000020 ffffffe0   :   00000032 -00000032
最終更新:2012年06月02日 23:23