типы — курс Microsoft edX C ++: двойное против длинного двойного — почему нет единого стандарта?

Я занимаюсь разработкой программного обеспечения А.С. Программа на получение степени в местном колледже. Я хочу опередить мою программу обучения в колледже (которая мне кажется слишком упрощенной). Итак, я изучаю разные языки и технологии везде, где могу (онлайн).

Я решил пройти курс Microsoft C ++ по edX.
Согласно им, double и long double одинаковы по размеру и диапазону (см. Скриншот ниже). Это противоречит этим спецификациям:

https://en.wikipedia.org/wiki/C_data_types

Сначала я думал, что Microsoft сделает опечатку, но потом я нашел эта почта:

В архитектуре x86 большинство компиляторов реализуют long double как
80-битный тип расширенной точности, поддерживаемый этим оборудованием (иногда
хранится как 12 или 16 байтов для поддержания структуры данных.

а также

Компиляторы также могут использовать long double для 128-битной четверной точности
формат, который в настоящее время реализован в программном обеспечении.

Другими словами, да, длинный дубль может хранить больший диапазон
значений, чем двойной. Но это полностью зависит от компилятора.

Итак, я подумал про себя, что в большинстве случаев (то есть в большинстве реализаций компилятора) Microsoft ошибается, но в некоторых случаях они могут быть правы.

Но потом я пересмотрел стандарт C ++ 11. И вот что это говорит:

Существует три типа с плавающей точкой: float, double и long double.
Тип double обеспечивает как минимум такую ​​же точность, как и float, и
Тип long double обеспечивает как минимум такую ​​же точность, как double.
набор значений типа float является подмножеством набора значений
тип двойной; набор значений типа double является подмножеством
множество значений типа long double.

Расплывчато, верно?

Итак, вот вопрос: C ++ существует уже давно. Почему до сих пор нет единого стандарта для такого рода вещей? Намеренно ли это ради гибкости — каждый сам решает, какими будут эти типы данных. Или они просто не могут получить всех на борту?

Спасибо.

Скриншот:
Microsoft C ++ на edX

Постскриптум Я все еще думаю, что Microsoft должна была написать это по-другому: что-то вроде «Long Double имеет такой же размер, как double или больше (до … байтов)».

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]