2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5, 6
 
 Re: IEEE754
Сообщение25.09.2020, 16:30 


09/05/16
138
IvanX, начиная с C99 и C++11 это можно настроить описанными в стандарте способами.

 Профиль  
                  
 
 Re: IEEE754
Сообщение25.09.2020, 18:14 


01/03/20
46
Не имел ввиду принудительное округление. Давайте рассмотрим конкретный пример. Складываем два числа x=1 и y=1+2^(-23) типа float. Сумма x+y не может быть представлена типом float, лежит посередине между 2 и 2+2^(-22). Эксперимент в Visual Studio на C++ показал, что произошло округление суммы до 2. Это был какой режим? Так будет везде и всегда? Как из программы можно изменить режим округления?

 Профиль  
                  
 
 Re: IEEE754
Сообщение25.09.2020, 18:39 
Заслуженный участник


26/05/14
981
Это было округление к чётному.
Что вам мешает написать программу которая запустив четыре (если я не обсчитался) примера установит какой режим используется?

 Профиль  
                  
 
 Re: IEEE754
Сообщение25.09.2020, 19:00 


01/03/20
46
Кажется, начал понимать. Пусть x=1+2^(-22) и y=1+2^(-23). Сумма лежит посередине между 2+2^(-22) и 2+2^(-21). Эксперимент показывает, что сумма округляется до 2+2^(-21). Потому в этом случае в мантиссе младший бит 0.

 Профиль  
                  
 
 Re: IEEE754
Сообщение25.09.2020, 19:19 
Заслуженный участник


12/07/07
4523
IvanX в сообщении #1484597 писал(а):
Visual Studio... Как из программы можно изменить режим округления?
Попробуйте в хелпе поискать _control87. (Visual Studio/Run-Time Library Reference/Alphabetical Function Reference/_control87, _controlfp, __control87_2)
(На практике я всегда писал изменение CW на асме. Как-то обычно и в голову не приходит использовать функции ЯВУ для этого.)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 80 ]  На страницу Пред.  1, 2, 3, 4, 5, 6

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group