Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.71/34: Рейтинг темы: голосов - 34, средняя оценка - 4.71
1 / 1 / 1
Регистрация: 29.09.2011
Сообщений: 57

Как разделить целое число Int64 на целое 1024 и получить double с 2 знаками после запятой

11.10.2012, 17:48. Показов 6941. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
Int64 chislo=1234567890;
double chislo2=chislo/1024;
label1->Text=Convert::ToString(Math::Round(chislo2,2))
chislo2 всегда целое,дробная часть отсутствует
если ввести chislo2=123456.789123 то округляется до 2 знаков
Т.е. не работает именно деление,оно всегда дает целый результат
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.10.2012, 17:48
Ответы с готовыми решениями:

Скрипт в результате выдает число целое, а надо с двумя знаками после запятой
Добрый день. Скрипт в результате выдает число целое, надо с двумя знаками после запятой, так как option value="1,5". Может кто...

Как разделить переменую типа double на целое и дробное число ?
Как разделить переменую типа double на целое и дробное число ? Добавлено через 23 минуты Нашол решение : #include <iostream> ...

Каким образом число с плавающей запятой разделить на целое?
Не могу разобраться, как мне число с плавающей запятой, которое записано в строковую переменную. Перевести в дробное значение и затем...

25
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
13.10.2012, 20:59
Студворк — интернет-сервис помощи студентам
тоже по русски
http://www.wasm.ru/print.php?article=1010029
итак
для процессора
для 32 битного int деление занимает 41 такт
для сопроцессора
для float 24 бита 19 (22)тактов
для double 53 бита 33 (35)такта
для long double 64 бита 39(42) тактов
если сравнивать int и double
выигрышь вроде не большой 8 ( 5) тактов
но тут в дело вступает i-ov: пересечение времени выполнения с целочисленными инструкциями.
38 тактов
т.е деление выполнится пока процессор занимается другой работой (может вообще задержки не будет)
в результате и получится
Цитата Сообщение от ValeryS Посмотреть сообщение
деление там намного быстрее чем в процессоре
вообще рассматривать
Цитата Сообщение от calypso Посмотреть сообщение
скорость сферического коня в вакуумной космической эллипсойдной галактике)
дело не благодарное нужен конкретный код и от него танцевать
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
13.10.2012, 21:19
Цитата Сообщение от ValeryS Посмотреть сообщение
умножаем на .0009765625 т.е double
опять включается сопроцессор а для него и деление и умножение одинаковой сложности
Получается что не так.. далеко не так. Умножение всегда быстрее деления.

Тем более:
Такты: указанные значения являются минимальными. Промахи кэша, невыравненность и исключения могут значительно увеличить количество требуемых для выполнений тактов.
Исходя из этого могу предположить что fdiv в каких-то случаях может быть медленнее div.
1
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
13.10.2012, 21:34
Цитата Сообщение от lazybiz Посмотреть сообщение
Исходя из этого могу предположить что fdiv в каких-то случаях может быть медленнее div.
так я и говорю что смотреть(и оптимизировать) надо реальный код

просто я несколько раз видел что оптимизаторы компилаторов начинают использовать сопроцессор и даже MMX
0
1 / 1 / 1
Регистрация: 29.09.2011
Сообщений: 57
13.10.2012, 21:35  [ТС]
Я всегда думал что нахождением оптимального по быстродействию машинного кода должен заниматься компилятор,а не программист
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
13.10.2012, 21:39
Цитата Сообщение от lazybiz Посмотреть сообщение
Получается что не так.. далеко не так. Умножение всегда быстрее деления.
Согласен ступил
Был неправ исправлюсь

Добавлено через 3 минуты
Цитата Сообщение от calypso Посмотреть сообщение
оптимального по быстродействию машинного кода должен заниматься компилятор,а не программист
не всегда иногда и ручками приходится поработать
особенно в микроконтроллерах
например у AtMega замена int на (unsigned)char дает огромный выигрыш поскольку он 8 битный и 16 битами ему тяжело справится
1
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
13.10.2012, 21:44
Цитата Сообщение от calypso Посмотреть сообщение
Я всегда думал что нахождением оптимального по быстродействию машинного кода должен заниматься компилятор,а не программист
Не компьютер изобрел человека, а человек компьютер. Умнее человека, компьютер, изобретенный человеком, не будет никогда.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.10.2012, 21:44

Дано трехзначное целое число А. Получить из него двузначное целое число путем отбрасывания первой цифры
Дано трехзначное целое число А. Получить из него двузначное целое число путем отбрасывания первой цифры.

Дано целое число m>1. Получить наибольшее целое k, при котором k3<m
Дано целое число m&gt;1. Получить наибольшее целое k, при котором {k}^{3}&lt;m

Дано целое число m. получить найбольщее целое k при котором 4^k<m
дано целое число m. получить найбольщее целое k при котором 46^k&lt;m Добавлено через 1 минуту извините есть ошибка вот правильная...

Дано целое число m>1. Получить наименьшее целое k, при котором 4^k>m. Блок-схема
Дано целое число m&gt;1. Получить наименьшее целое k, при котором 4^k&gt;m.

Дано целое число m. Получить наибольшее целое k, при котором 4^k<m. Использовать цикл с постусловием
Помогите новичку решить задачу по программированию на цикл с постусловием (repeat...until) Дано целое число m.Получить наибольшее целое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru