• ベストアンサー

unsigned について

C言語で  unsigned no : 20 とういうのは、noを20桁で定義するという意味でしょうか?いろいろ調べたのですが、こういう書き方が 見当たらなくて、質問いたしました。

質問者が選んだベストアンサー

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.3

「ビットフィールド」で検索すると良いでしょう。 #2さんのいわれるとおり構造体やクラスの中に 記述します。 http://www.doumo.jp/postgretips/tips.jsp?tips=28 ちなみにC++ならboolでも使え上手く使えばメモリ等の節約になります。 他にもパケットの構造体を定義するときも便利です。

その他の回答 (2)

noname#30727
noname#30727
回答No.2

構造体のビットフィールドであれば、その20は20ビットを意味します。 noは0~1048575(2^20-1)まで扱えるという事です。

  • ballville
  • ベストアンサー率47% (233/487)
回答No.1

見当たらないのは当然で、この書きかたではコンパイルエラー になります。 コロン:をセミコロン;に代え、20の次にセミコロンを入れればエラーは 出なくなりますが、 unsigned no; はいいとして、次の 20; はまったく無意味です。 ちなみに、 unsigned no; は、 unsigned int no; の省略形で、符号無し整数noを宣言しています。 また、桁数を指定した変数の宣言はC言語にはありません。

関連するQ&A