- 締切済み
VBAデータ型一覧表の「記憶領域のサイズ」とは
エクセルVBAの変数宣言時に使うデータ型一覧内に「記憶領域のサイズ」というのがありますがどういう意味でしょうか。 例 種類 表記 記憶領域のサイズ データ範囲 バイト型 Byte 1バイト 0~255 宣言と同時に、変数(箱)を確保する最大必要メモリーを意味するということなら、変数にデータ範囲の限度255を入れたとすると3文字なので1バイトでは足りないのでは? 初心者ですよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- kurinkurinkurin
- ベストアンサー率72% (13/18)
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バイトを許します。 このように、種類によって、使えるバイト数と各バイトに入れられた 値の解釈の仕方が違うので、データ型一覧が用意されています。
- SRitchie
- ベストアンサー率21% (103/470)
255を16進数で表すと0xffですよね。 ほら1バイトだ
お礼
丁寧な説明ありがとうございました。