No.3ベストアンサー
- 回答日時:
変数の大きさについて C の規格では
・1バイトは 8ビット以上でアドレッシングの最小単位
を基本とし, integral については
・1 = sizeof(char) ≦ sizeof(short) ≦ sizeof(int) ≦ sizeof(long) ≦ sizeof(long long)
・short, long, long long はそれぞれ 16ビット, 32ビット, 64ビット以上
・signed と unsigned では同じ大きさ
float系に対しては
・sizeof(float) ≦ sizeof(double) ≦ sizeof(long double)
・float は 10進 6桁以上, double は 10進 10桁以上の有効数字
・指数の範囲は少なくとも -37以上 37以下
と規定しています.
多くの場合 float が 32ビット, double が 64ビットなのは IEC 60559 でそのような形式 (それぞれ short format, long format) を定義しているからで, その起源は Intel 8087 にたどりつきます.
No.2
- 回答日時:
何でもよいから64ビットの型ということであれば、ほとんどの環境で使うことができます。
例えば、 char [8]; 型でも64ビットだったりするからです。もちろん例外もあります。 char 型が9ビットの環境では、9が64の約数ではないという理由から、64ビットのデータ型が存在しないわけです。
ところで、一部のスーパーコンピュータなどでは、64ビット未満のデータ型が存在しない処理系も実在するようです。
No.1
- 回答日時:
doubleが64ビット幅であることは保証されていません。
保証されているのはfloatはdoubleより大きくない
doubleはlong doubleより大きくない
ということだけです。
私は話しに聞いたことがあるだけですが、floatとdoubleが同じサイズの処理系もあるそうです。
さて、PCではfloatが32ビット幅、doubleが64ビット幅のことが多いわけですが、その理由は32ビット幅と64ビット幅では(文字通り)格納メモリ量も実効速度も異なるため、用途に合わせて使い分けられるようになっているからです。
charやshort/int/longについても、おおむね同様です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
C言語を実行すると-infが出てき...
-
c言語で、繰り返し文の中で、0....
-
C 開放してるのにエラー(doubl...
-
float型とdouble型の変数の違い...
-
C言語の型による処理速度の違い
-
C言語のpow関数の不具合
-
int とdoubleの比較
-
浮動小数点の定数
-
たくさんの数の平均を求める方...
-
はさみうち法のプログラム(C言...
-
doubleの変数にintとintの割り...
-
C言語 入力した数値の平均値の...
-
「割り算」 と 「分数の掛け算」
-
3次方程式の求解プログラム(...
-
Cで3乗根を求める方法
-
C言語について(三角形の面積・d...
-
マチンの公式による円周率のプ...
-
SetPixel関数のmath.h
-
プログラミングC言語
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
doubleの変数にintとintの割り...
-
C言語を実行すると-infが出てき...
-
float型とdouble型の変数の違い...
-
c言語で、繰り返し文の中で、0....
-
C 開放してるのにエラー(doubl...
-
関数におけるif文とreturn文に...
-
至急です! マクロ定義で #defi...
-
C言語 関数プロトタイプ宣言の...
-
浮動小数点の定数
-
int とdoubleの比較
-
C言語の型による処理速度の違い
-
c言語のコンパイルエラー canno...
-
doubleは常に%lfとするべきなのか
-
difftime()について
-
C言語初心者 構造体 課題について
-
C言語でintをdoubleに
-
listに構造体を格納
-
たくさんの数の平均を求める方...
-
(C,C++言語)関数の引数は自動キ...
おすすめ情報