|
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 16
|
||||||
Неправильная конвертация типов в MVS С++ 200803.05.2013, 22:20. Показов 875. Ответов 6
Метки нет (Все метки)
Скажите, почему в Microsoft Visual Studio 6 результатом программы
100*r1=112 100*r2=113 с=1 А при запуске этой программы в Microsoft Visual Studio 2008 результат стал таким: 100*r1=112 100*r2=113 с=0 Причём, если знак “-“ поменять на “+” то в результате будет 100*r1=112 100*r2=113 с=225 Такое вообще может быть или это глюк пиратского софта?
0
|
||||||
| 03.05.2013, 22:20 | |
|
Ответы с готовыми решениями:
6
Не компилирует в MVS 2008 Настройки в MVS 2008 MVS 2008 открытие проекта |
|
11 / 11 / 2
Регистрация: 07.03.2010
Сообщений: 465
|
||||||
| 03.05.2013, 22:55 | ||||||
|
Лицензионная студия 2012 года) Тоже без понятия что за)
0
|
||||||
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
||||||
| 03.05.2013, 22:56 | ||||||
|
при арифметике с плавающей точкой всегда есть погрешность.
вывод эту погрешность может округлять, но при операциях она не округляется и потом при касте дабла к инту это сказывается. если точность вывода увеличить, то можно увидеть более точные значения. в дебаге тоже можно увидеть:
100*r2=112.9999999999999900000000000000 r1r2=0.9999999999999715800000000000000 c=0 Press any key to continue . . .
1
|
||||||
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
|
||||||
| 03.05.2013, 23:09 | ||||||
|
для того чтобы правильно округлить при переводе в int необходимо добавить 0.5
вот так у тебя сработает без ошибок округления
1
|
||||||
|
11 / 11 / 2
Регистрация: 07.03.2010
Сообщений: 465
|
|
| 03.05.2013, 23:10 | |
|
Кхм, а почему именно 0.5? теперь мне интересно)
0
|
|
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
|
|||||||
| 03.05.2013, 23:21 | |||||||
![]() при переводе в целочисленное дробная часть отбрасывается хоть там будет 0.9999999999 по правилам математики число меньшее чем х.5 округляется в меньшую сторону иначе в большую пробуем 2.5+0.5=3.0 =3 2.9+0.5=3.4=3 2.1+0.5=2.6=2 2.4+0.5=2.9=2 Добавлено через 4 минуты на этом основано округление например тебе нужно округлить до 2 знака умножаем на 100 добавляем 0.5 приводим к int и делим на 100 до третьего знака 1000 ну и так далее например
1
|
|||||||
|
11 / 11 / 2
Регистрация: 07.03.2010
Сообщений: 465
|
|
| 03.05.2013, 23:22 | |
|
Логичка ясна, спасибо)
0
|
|
| 03.05.2013, 23:22 | |
|
Помогаю со студенческими работами здесь
7
Нужен пример использование CheckBox в MVS 2008 Как создать принципиальную схему в MVS 2008 Ee? Где скачать MVS c++ 2008 express edition? Как подключить libpcap к проекту MVS 2008 Где найти файл помогания MVS C++ 2008 e-edition? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|