或阿呆のブログ

Pythonを好んで使っているプログラマです。Ruby,Perl,PowerShell,VBAなどでもたまに書いています。最近はスロット放浪記やってます。。

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反転しているのがわかっただろう?