![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 | |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Подскажите плиз, как проще округлить целочисленную константу в большую сторону до фиксированного значения. Вот мой
Код:
Цитата:
Код:
|
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 27.11.2012
Сообщений: 190
|
![]()
Наверное, вы не видели по-настоящему громоздких конструкций. Обзовите переменные покороче или сделайте функцию с говорящим названием
|
![]() |
![]() |
![]() |
#3 | ||
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]() Цитата:
Код:
Код:
Цитата:
|
||
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]() Цитата:
ЗЫ. Еще я не понял, зачем округлять константы на этапе выполнения программы...
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() Последний раз редактировалось Utkin; 21.02.2013 в 09:46. |
|
![]() |
![]() |
![]() |
#5 | |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Я сторонник такого подхода: http://www.gunsmoker.ru/2010/07/blog-post_31.html . Практика показала, что:
1. код, требующий подробных комментариев, как правило требует хорошей переработки (исключение составляют редкие замороченные алгоритмы и asm-вставки) 2. написание качественных комментариев отнимают много времени, а некачественные - только сбивают с толку 3. проще разобраться по коду (если он опять же 'грамотный'), чем по написанным когда-то комментариям Цитата:
Последний раз редактировалось Sibedir; 21.02.2013 в 10:13. |
|
![]() |
![]() |
![]() |
#6 | ||||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]() Цитата:
![]() Цитата:
Цитата:
Ну да дело Ваше ![]() Цитата:
![]() Ну не это главное, я повторю вопрос - зачем вычислять константу? Что Вам мешает посчитать Ваши цифры заранее?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
||||
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
да, кстати, мне тоже непонятно, кто мешает написать так?!
Код:
Цитата:
![]() Последний раз редактировалось Serge_Bliznykov; 21.02.2013 в 11:01. |
|
![]() |
![]() |
![]() |
#8 | |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]() Цитата:
Код:
2. Если структура типа изменится (а она изменится. тип данных - это запись, поля которой добавляются по ходу разработки программы), то есть вероятность забыть пересчитать эти константы. 3. При ручном расчете 99,999999999% возникнут проблемы при портировании кода в иную среду разработки. 4. Размер структуры зависит от размера указателя (некоторые поля - это указатели). Ясен пень, что при компиляции на x64 придется всё пересчитывать. Зачем мне все эти проблемы, если можно просто посчитать константу на этапе компиляции. Подобная арифметика может понадобится и на этапе выполнения. Приятно иметь более рациональное решением, хотя действительно это может не иметь особого смысла с точки зрения оптимизации и удобочитаемости (можно и коммент поставить). Вопрос не 'зачем', а 'как написать короче'? Ну, типа задачка для пытливых умов. Мне вот ничё толкового в головы не идет. Может кому придёт. |
|
![]() |
![]() |
![]() |
#9 | |||||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
Вы обратили внимание к чему я придираюсь? Ваши проблемы связаны с тараканами в голове, а не с реальной ситуацией (которая и выеденного яица не стоит). Цитата:
Serge_Bliznykov дал оптимальный вариант. Короткий, понятный и самый быстрый. Лично я бы использовал переменные, которые бы инициализировались от данных констант.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
|||||
![]() |
![]() |
![]() |
#10 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Utkin, замечания приняты. Тараканов шугать периодически нужно, согласен
![]() Ну так есть у кого более короткая запись? P.S.: Модераторам: В принципе, тему можно и в другой раздел перенести, я не против. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Деление нацело с округлением в большую сторону | NioTo | Паскаль, Turbo Pascal, PascalABC.NET | 25 | 11.10.2013 14:14 |
Функция округления в большую сторону в c++ | Karina89 | Помощь студентам | 1 | 23.11.2011 18:02 |
Помогите сместить большую картинку на кнопке SpeedButton1 | DemonXT | Компоненты Delphi | 4 | 19.11.2009 15:28 |
Округление в большую или меньшую сторону | Shokoladniu | Microsoft Office Excel | 5 | 15.10.2009 17:37 |
Задача на большую строку | Witaliy | Помощь студентам | 4 | 10.02.2009 18:26 |