なぜ私の64ビットマシンでダブルとロングダブルが完全に同じであるのですか?

StackOverflow https://stackoverflow.com/questions/8922216

  •  30-10-2019
  •  | 
  •  

質問

この質問は初心者のように聞こえるかもしれませんが、私がそれを見つけたとき、私は初心者だと思っているか、私のコンプに何かが欠けていると思いました:

int main()
{
    cout << sizeof(double) << endl;
    cout << sizeof(long double) << endl;

    cout << DBL_DIG << endl;
    cout << LDBL_DIG << endl;

    return 0;
}

プログラム出力:

8

8

15

15

私は思った long double 10バイトで、18桁の数字があります double 8バイトで、15桁がありますが、私は間違っていたようです。

どうしてこんなことに?

64ビットマシンでMSVC 2010を使用します。

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top