• 締切済み

VBAデータ型一覧表の「記憶領域のサイズ」とは

エクセルVBAの変数宣言時に使うデータ型一覧内に「記憶領域のサイズ」というのがありますがどういう意味でしょうか。 例   種類    表記  記憶領域のサイズ  データ範囲    バイト型  Byte  1バイト      0~255 宣言と同時に、変数(箱)を確保する最大必要メモリーを意味するということなら、変数にデータ範囲の限度255を入れたとすると3文字なので1バイトでは足りないのでは? 初心者ですよろしくお願いします。

みんなの回答

回答No.2

1バイトとは、そもそも文字数を表す単位ではありません。 0~255までの数値の塊を1バイトと呼んでいます。 その数値に、半角文字の文字コードを割り当てることができたので 1バイト=1文字としても利用できるにすぎません。 なるほど、255を3文字だとすると3バイトですね。 文字列型 String に”255”を代入するとその通りですね。 ところで、2というのは文字コード50 、5というのは文字コード53です。 文字列型に、255を入れるのは、50 53 53 という3バイトの値を保持することです。 1バイトは、0~255の値ですが、これをそれぞれの文字コードと 対応させるのが、文字列型ですね。 これに対してバイト型は、50 53 53 というような複数バイトを許しません。 1バイトだけです。また代入された値を文字コードとして解釈せずに 数字だと解釈します。 なので、50≠”2”ではなく、50=50です。 たとえば、Integer型だと、2バイトを許します。 このように、種類によって、使えるバイト数と各バイトに入れられた 値の解釈の仕方が違うので、データ型一覧が用意されています。

kafun-show
質問者

お礼

丁寧な説明ありがとうございました。

  • SRitchie
  • ベストアンサー率21% (103/470)
回答No.1

255を16進数で表すと0xffですよね。 ほら1バイトだ