Как настроить Long Double

Тема в разделе "Общие вопросы по С и С++", создана пользователем ru_looking_for, 30 апр 2006.

Статус темы:
Закрыта.
  1. ru_looking_for

    ru_looking_for Гость

    Есть проблема - размер long double может быть либо 8 байт, либо 10 байт. Если я пишу в билдере, то он как правило 10 байт, а если в VisualStudio, то 8. Весь MSDN перевернул, чтобы узнать как настроить, чтобы было 10? Но там везде только и говорят, что типа long double - это всего лишь эквивалент double. Но это же не так, раз билдер может, то и в VS должно быть.
     
  2. DAle

    DAle Гость

    <!--QuoteBegin-ru_looking_for+30:04:2006, 12:33 -->
    <span class="vbquote">(ru_looking_for @ 30:04:2006, 12:33 )</span><!--QuoteEBegin-->Есть проблема - размер long double может быть либо 8 байт, либо 10 байт. Если я пишу в билдере, то он как правило 10 байт, а если в VisualStudio, то 8. Весь MSDN перевернул, чтобы узнать как настроить, чтобы было 10? Но там везде только и говорят, что типа long double - это всего лишь эквивалент double. Но это же не так, раз билдер может, то и в VS должно быть.
    [snapback]34651" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    По стандарту С++ sizeof(long double) >= sizeof(double). Конкретная реализация компилятора под конкретную платформу вправе сама выбирать размер типа long double. Поэтому полагаться на конкретный размер данного типа нельзя (за исключением случаев, когда проект компилируется одним конкретным компилятором, и в будущем это будет неизменно). В С++ компиляторе от Майкрософт sizeof(long double) действительно равен 8 и изменить это никак нельзя. Возможно есть какие-то расширения компилятора, позволяющие вести вычисления в 10(или более)-байтовых переменных, но я о них не знаю.
     
  3. ru_looking_for

    ru_looking_for Гость

    Ну ладно, я обошелся 8-байтовым типом, просто я оценил, и пришел к выводу, что мне вполне хватит точности обычного дабла. Но все равно спасибо.
     
  4. Trupik

    Trupik Гость

    <!--QuoteBegin-ru_looking_for+4:05:2006, 18:43 -->
    <span class="vbquote">(ru_looking_for @ 4:05:2006, 18:43 )</span><!--QuoteEBegin-->Ну ладно, я обошелся 8-байтовым типом, просто я оценил, и пришел к выводу, что мне вполне хватит точности обычного дабла.
    [snapback]34957" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Что ж за вычиления такие, если не секрет?
    А в Microsoft, насколько мне известно, уже давно sizeof(long double) = 8.
     
  5. ru_looking_for

    ru_looking_for Гость

    Я написал класс, который работает с различными системами координат и отображает их на видовое окно. Я хотел большую точность для того, чтобы имелась возможность делать как можно больший зум (увеличение) сцены. Потому что есть графики, поведение которых не возможно рассмотреть при точности double. Но наверняка найдется график, который нельзя будет точно прорисовать и при 10-бйтовом doule. Поэтому я сделал на 8. Возможности конечно сокращаются, ну и пусть. Есть еще типы, которые обеспечивают супер точность вещественных чисел, позволяют работать с большими целыми. Но у меня пока нет времени их осваивать, да и не надо мне это, я же не математическую библиотеку пишу :( .
     
Загрузка...
Похожие Темы - Как настроить Long
  1. kuklofon
    Ответов:
    1
    Просмотров:
    87
  2. garrick
    Ответов:
    10
    Просмотров:
    887
  3. Amfion
    Ответов:
    1
    Просмотров:
    616
  4. Lukin_na
    Ответов:
    1
    Просмотров:
    1.095
  5. SaXalIneC
    Ответов:
    0
    Просмотров:
    833
Статус темы:
Закрыта.

Поделиться этой страницей