unsigned整数型

 ビット演算についてご紹介する前に、コンピュータの基礎知識としての2進数、ならびにビット演算というものが存在する理由について解説してきました。今回は2進数の補足としてunsigned整数型について説明します。

 以前、変数について説明する際に、整数型として以下のものをご紹介しました。

  • ■整数型
  • short - 範囲:-32768~32767
  • unsigned short - 範囲:0~65535
  • int - 範囲:-2147483648・1474836474
  • unsigned int - 範囲:0・2949672959

 今回の説明をしていく上で、上記の範囲では広すぎるので、少し範囲を狭めたものを仮定して話を続けます。ここで、2進数に関して復習します。

  • 10進数の「1」:00000001
  • 10進数の「2」:00000010
  • 10進数の「3」:00000011
  • 10進数の「4」:00000100
  • 10進数の「5」:00000101
  • 10進数の「6」:00000110
  • 10進数の「7」:00000111
  • 10進数の「8」:00001000
  • 10進数の「9」:00001001

 この調子でいくと、10進数の127は「01111111」と表せます。では、では、2進数で「10000001」と書くと10進数では何の数になるでしょうか。

  • 129
  • -127

 実は、unsignedがついているか、ついていないかによって「129」にもなれば「-127」にもなります。これは、2の補数という概念があるからです。2進数の一番最初の桁が「1」のときは負数として扱うという概念です。(詳細はGoogle等で検索して下さい。)通常は2の補数が適用されますが、unsignedをつける場合は負数は扱いません。先のintやshortの範囲をもう一度チェックして頂くと、unsignedがつく場合は範囲が0からとなっているのがおわかりになるかと思います。絶対に負数は扱わないのであればunsignedをつけた方が扱える正の数の範囲が増えますが、基本的には通常のint型で問題ないでしょう。

■スポンサーリンク

このページの先頭へ