ぺんぎんらぼ

お笑いとマンガ好きなしょぼしょぼWeb系エンジニアの日記です。たまに絵を描きます。

お笑いとマンガ好きなしょぼしょぼWeb系エンジニアの日記です

64bitと32bitの違い

CPUの命令セット

「64 bit OS」や「32 bit OS」と言う言葉を耳にします。

この64ビットや32ビットとは「CPUの命令セット」のことです。

64bitOSとは

  • 64ビットOSは64ビットアドレスを使用してメモリにアクセスし、32ビットOSは32ビットアドレスを使用してメモリをアクセスします。
  • 64ビットOSの場合、命令は64ビット(8バイト)ごとに処理されます。
  • 特定のメモリアドレスを表現するポインタ自体も8バイトで表現されます。

メモリとしての表現幅が32ビットOSの時は

 2の32乗分(4,294,967,296ビット=約4GB

でしたが、

64ビットOSでは

 2の64乗分(18,446,744,073,709,551,616ビット=約18,000,000,000GB

のメモリを理論上使えることになります。

実際に製造されるPCのRAMは物理的制約により16GBや32GBのものが多いですが。

16進数表記について

上の図でメモリを「0x 00 00 00 00 00 00 00 00 」と表現しました。

  • "0x" は、16進数を表現するときの接頭詞です。
  • "00"が16進数の値となります。下の図のように、16進数の左の桁と右の桁はそれぞれ4ビットを表し、左右の2桁でちょうど1バイト(8ビット)になります。

1byteとは