OSで実行中であるか否かは、Environment.Is64BitOperatingSystemで簡単に判定できます。OSでも32bitプロセスで実行してしまう可能性があります。プロセスが64bitか否かはEnvironment.Is64BitProcessで簡単に判定できます。これとは別にポインターのサイズが32bitから64bitか調べる方法もあります。IntPtr.Sizeの値が4なら32bit、8なら64bitです。プロセスが64bitならポインターも64bitという前提を置いても現状では問題ないので、あまり使う機会はないかもしれません。通常、【OSのビット数≠プロセスのビット数≠ポインターのビット数】となる。CPUならポインターは16bitである。煩雑なのでイコールと見なして運用することが多い。多いだけで必ずそうとも言い切れない。注意しておこう通常C#のプログラマーはポインターを意識する必要はない。プロパティ上の2つはEnvironmentクラスなのに、最後の1つはIntPtrクラスである。プロパティだけクラスが違うのだろうか。上記のリンクを辿って理由を考えてみよう。