Re[2]: ф-я округления вещественного числа ???
От: _Vladimir_ Россия  
Дата: 22.07.04 04:47
Оценка:
Здравствуйте, orangy, Вы писали:

O>
O>template<typename T> int round(T value) { return int(value + 0.5); }
O>


Здесь есть один тонкий момент, оператор преобразования (int)value,
будет реализован как загрузка value в регистр сопроцессора,
и выгрузка его в память как целое значение.
При выгрузке регистра его значение может быть преобразовано в целое
различными способами (в большую строну, меньшую или округление),
это будет зависеть от состояния флагов сопроцессора.
Вообщем, нет гарантии, что (int) все время будет возвращаеть ближайщее целое снизу.
И потом, я не видел, чтобы стандарт C++ явно указывал на то
как должен работать оператор (int).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.