Для конкретики я говорю об архитектуре x87 PC и компиляторе C.
Я пишу свой собственный интерпретатор, и аргументы в пользу типа данных double
меня смущают. Особенно в том, что касается эффективности. Может кто-нибудь объяснить, ПОЧЕМУ C выбрал 64-битный двойник
, а не аппаратный 80-битный двойник
? И почему аппаратное обеспечение остановилось на 80-битном double
, если оно не выровнено? Каковы последствия производительности каждого из них? Я хотел бы использовать 80-битный double
для числового типа по умолчанию. Но выбор разработчиков компилятора заставляет меня задуматься, что это не лучший выбор.
double
на x86 всего на 2 байта короче, почему компилятор не использует по умолчанию 10-байтовый long double
?long double
по сравнению с double
?long double
по умолчанию?long double
на типичном оборудовании ПК с архитектурой x86/x64?