Форум программистов, компьютерный форум, киберфорум
Наши страницы

U, L, F в константах - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ QtCreator http://www.cyberforum.ru/cpp-beginners/thread560549.html
Не работают функции rand() и srand(). вот ругань QtCreator-а: /home/shooter/Документы/untitled1-build-desktop-Qt___PATH______/../untitled1/main.cpp:7: ошибка: ‘srand’ was not declared in this scope...
C++ Описать структуру с именем STUDENT Всем привет) Не могу решить задачу. Описать структуру с именем STUDENT, содержащую следующие поля: • фамилия и инициалы; • номер группы; • успеваемость (массив из пяти элементов). Написать... http://www.cyberforum.ru/cpp-beginners/thread560547.html
Объясните план изучения C++ C++
мне один человек посоветовал такой план изучение С++(для самоучек) 1. Основа C++, с понятием об ООП. 2. Win32 API и параллельно подучить C++. 3. Изучение C++ глубже. 4. C++ .NET или начну...
C++ Быстрый алгоритм перестановки элементов одномерного массива
Ищу быстрый алгоритм перестановки элементов одномерного массива. В массиве int, надо менять местами элементы для получения "популяции" на вход генетики. Должен работать быстро, несколько десятков раз...
C++ Структура: Исключив из заданного массива данных типа data несуществующие даты, остальные напечатать, считая наименьшую дату началом года http://www.cyberforum.ru/cpp-beginners/thread560526.html
typedef struct {int d, m;} data; Исключив из заданного массива данных типа data несуществующие даты, остальные напечатать, считая наименьшую дату началом года. (в году 365 дней)
C++ Решение куб. уравнения. решение кубического уравнения. Программа работает слишком медленно. (Не знаю в каком месте медленно, как по мне - так нормально) Есть кубическое уравнение вида A*X3 + B*X2 + C*X + D = 0. все корни... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
18372 / 6419 / 441
Регистрация: 30.03.2009
Сообщений: 17,805
Записей в блоге: 28
03.05.2012, 22:48
Цитата Сообщение от Toshkarik Посмотреть сообщение
С целочисленными то все понятно. Я про float, ты упомянул, что компиляторы под x86 хитрят.
На интеле вся плавающая арифметика аппаратно поддержана только 80-битная, поэтому у них принято все операции проводит в формате long double. Т.е. выражение

C
1
2
3
4
double a;
float b;
 
a = a + c;
по стандарту должно считаться как

C
1
a = a + (double)b;
но компиляторы построят код

C
1
a = (double)((long double)a + (long double)b);
У gcc была какая-то опция, которая заставляет компилятор строить честный код (но он будет работать медленнее), но не помню, как называется. Возможно, что и у других компиляторов есть. А может другие компиляторы строят честно, хрен его знает. Для надёжности посмотрю на работе, sun'овский компилятор точно работает честно. Я просто intel'овскую архитектуру почти не знаю
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.