<~ 演算子の使用例>
~ 演算子は、そのオペランドにビットごとの補数演算を実行し、各ビットを反転させます
符号を反転させるときに便利?
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