或阿呆のブログ

巷では、武器商人@ダーツで通っています。Python好き好きプログラマーです。芥川龍之介、太宰治が好きです。

C#::ビット反転の方法、2進数の桁数指定の書式(無理矢理感が漂う)で表示させてみた。

ビット反転ってのは、2進数においてつまりは1だったら0、0だったら1にするってこと。~演算子を使ってビット反転をさせられる。

Sample Code(サンプルコード)

       Debug.WriteLine(Convert.ToString(d, 2).PadLeft(32,'0'));
            Debug.WriteLine(Convert.ToString(~d, 2).PadLeft(32,'0'));
            Debug.WriteLine(Convert.ToString(d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(~d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(~d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(~d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(~d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(~d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(~d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(~d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(~d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(~d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(~d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(~d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(~d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(~d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(~d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(d, 2).PadLeft(32, '0'));
            Debug.WriteLine(Convert.ToString(~d, 2).PadLeft(32, '0'));

Result(実行結果)

10101010101010101010101010101010
01010101010101010101010101010101
10101010101010101010101010101010
01010101010101010101010101010101
10101010101010101010101010101010
01010101010101010101010101010101
10101010101010101010101010101010
01010101010101010101010101010101
10101010101010101010101010101010
01010101010101010101010101010101
10101010101010101010101010101010
01010101010101010101010101010101
10101010101010101010101010101010
01010101010101010101010101010101
10101010101010101010101010101010
01010101010101010101010101010101
10101010101010101010101010101010
01010101010101010101010101010101
10101010101010101010101010101010
01010101010101010101010101010101
10101010101010101010101010101010
01010101010101010101010101010101
10101010101010101010101010101010
01010101010101010101010101010101
10101010101010101010101010101010
01010101010101010101010101010101
10101010101010101010101010101010
01010101010101010101010101010101
10101010101010101010101010101010
01010101010101010101010101010101
10101010101010101010101010101010
01010101010101010101010101010101

bit反転しているのがわかっただろう?