Гнутый как раз стандарту C99 соответствует намного лучше многих других компиляторов А язык С сложился до принятия стандрата IEEE по плавающей, это даже в Вашей цитате было
For example, the C programming language, which pre-dated IEEE 754С изначально делался как максимально приближаемый к железу язык, оттуда и растут ноги у
sizeof(short)<=sizeof(int)<=sizeof(long)и у файла limits.h, расширенного в C99 до stdint.h и inttypes.h Т.е. имеем: 1) в стандарте С размеры типов гврздями не прибиты. 2) в стандарте IEEE 754, оптять таки, судя по Вашей цитате, "Only 32-bit values are required by the standard, the others are optional Поэтому я лично не вижу основний говорить, что С ну прямо совсем не придерживается стандарта IEEE754. Придерживается в обязательной части 32-битных значений :-) Тем более, что тип double в C появился раньше термина double-precision в IEEE 754 и, по большому счёту, не имеет к последнему отношения, просто похож :-) А вот
double sin(double);В языке C отродясь стандартизован именно в таком виде. И если теперь в угоду более новому стандарту на плавучку запретить в реализациях С делать 32-битный double, то кого это порадует? Тем, кого устроит меньшая точность 32-битного float, но для кого критичны объёмы ОЗУ/ПЗУ или время (или уже у всех микропроцессоров стоит сопроцессор, да ещё и выполняющий вычисления с single-precision и с double-precision за одинаковое время?) - придётся лепить самописные математические библиотеки.
-
- другими словами bialix(583 знак., 20.01.2005 20:02)