![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Мне нужно получить остаток от деления 1064 mod 1440 но дельфи возвращает 1064. Как нужно провильно получить остаток с большим кол-вом знаков? Помогите, плиз.
|
|
#2
|
||||
|
||||
|
То есть как "правильно"?
|
|
#3
|
||||
|
||||
|
Ну, как правильно производить получение остатка?
|
|
#4
|
|||
|
|||
|
X div Y - целочисленное деление
X mod Y - остаток от деления (кажется так, не перепутал) |
|
#5
|
||||
|
||||
|
Цитата:
|
|
#6
|
|||
|
|||
|
В справке Delphi оператор mod имеет эквивалентное выражение:
x mod y = x - (x div y) * y. Таким образом, результат операции 1064 - (1064 div 1440) * 1440 будет равен 1064, хотим мы этого или нет. Если такой поворот событий напрягает переходите на С .Последний раз редактировалось san-46, 21.08.2008 в 09:56. |
|
#7
|
||||
|
||||
|
Не, ну я все понимаю... Но это звучит как - остаток от деления 2 на 3! Посмотрите ведь 1064 <1140 ! Какой тут может быть остаток?
|
|
#8
|
|||
|
|||
|
Что 1064 <1140 - это все здесь присутствовавших понимают, отсюда и недоумение. Все кто применял операнд mod достаточно часто, знает эту особенность, те кто первый раз сталкивается с этим - задают вопросы. Нормально.
|
|
#9
|
||||
|
||||
|
Я что-то не вижу смысла в панике.
1064<1140 следовательно при делении 1064/1140 получаем 0 и 1064 в остатке. В чем трабла-то? |
|
#10
|
||||
|
||||
|
а, спасибо
![]() Последний раз редактировалось ZIP, 21.08.2008 в 14:44. |