C言語関係掲示板

過去ログ

No.342.データ型とそのバイト幅について

[戻る] [ホームページ]

No.2168

データ型とそのバイト幅について
投稿者---博(2002/07/24 17:20:08)


どうしても気になることがあったので質問させてください。

第2章 データの扱いより
「バイト幅と扱える数値の範囲については各処理系によって異なります。」
とあったので、自分が使用してるマシンで
int型のバイト幅を調べてみたところ4byteとなったので
-2147483648〜2147483647の範囲の値をint型で使用しました。
ですが、いろいろとHPを見てるとint型は2byteと表示されているものが
多かったので、int型は2byteとして扱ったほうが良いのかな?と思いました。

実際int型は2byteで扱ったほうがよろしいのでしょうか?


No.2170

Re:データ型とそのバイト幅について
投稿者---ともじ(2002/07/24 18:07:21)


こんにちは。

>とあったので、自分が使用してるマシンで
>int型のバイト幅を調べてみたところ4byteとなったので
>-2147483648〜2147483647の範囲の値をint型で使用しました。
>ですが、いろいろとHPを見てるとint型は2byteと表示されているものが
>多かったので、int型は2byteとして扱ったほうが良いのかな?と思いました。
>
>実際int型は2byteで扱ったほうがよろしいのでしょうか?

いえ、あくまで処理系依存です。
まあ、移植性を考えて、2バイトで収まる範囲のデータのみをintで
宣言するのは構いませんが。
それから、扱える範囲も処理系依存で、4バイトが
 -2147483648〜2147483647
であるとは限りません。limits.hというヘッダに整数型の最大値と最小値が定義されて
いますので、確認してみてください。


No.2173

Re:データ型とそのバイト幅について
投稿者---長月葵(2002/07/25 04:11:47)


>「バイト幅と扱える数値の範囲については各処理系によって異なります。」
>とあったので、自分が使用してるマシンで
>int型のバイト幅を調べてみたところ4byteとなったので
>-2147483648〜2147483647の範囲の値をint型で使用しました。
>ですが、いろいろとHPを見てるとint型は2byteと表示されているものが
>多かったので、int型は2byteとして扱ったほうが良いのかな?と思いました。
>
>実際int型は2byteで扱ったほうがよろしいのでしょうか?

初めまして、長月葵と申します。
通りすがりの初投稿ですがよろしくお願いします。
単純にバイト幅だけを知るならsizeof()を使いましょう。
どう扱うかに関しては個人的な嗜好の問題なので、参考程度に聞いて下さい。
僕の場合は基本的にint == 32bitとします。
WindowsMe/2000とTurboLinux7.0、FreeBSD4.4Rで遊んでいますが、どのOSも32bitOSでCPUも32bitCPUなので。
それが自然なんじゃないかと思っています。
自分がint == 32bitの処理系を使うのならint == 32bitと考えていて良いと思いますよ。

No.2174

ありがとうございました
投稿者---博(2002/07/25 09:55:47)


移植性をあまり考慮しなければ
特に意識しなくてもint == 32bitと
考えてよさそうですね。
(最近のマシンは高性能なので)

どうもありがとうございました。