powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Непонятно как работает MOD
5 сообщений из 5, страница 1 из 1
Непонятно как работает MOD
    #32326479
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посему то у меня в Foxe MOD(6,30) = 6, ну лана это я понял, а вот посему
MOD(-6,30)=24 вообще не въезжаю по какому принципу здесь подсчитан остаток от деления, я ожидал результатом -6, короче не понял я тут!!)
...
Рейтинг: 0 / 0
Непонятно как работает MOD
    #32326506
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то, мог бы и догадаться, что:

30-6=24

Хотя, согласен, странное поведение. Видимо штатно, MOD() (как и %) работает только если оба выражения имеют одинаковый знак. Например:

MOD(-6,-30)=-6

но MOD(6,-30)=**

Так что, используй ABS() и SIGN() чтобы получать нужный результат, что-то вроде:

LOCAL lnDividend, lnDivisor
lnDividend=-6
lnDivisor=30

?MOD(ABS(m.lnDividend),ABS(m.lnDivisor))*SIGN(m.lnDividend)
...
Рейтинг: 0 / 0
Непонятно как работает MOD
    #32326513
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как же я догодаюсь если MOD(-100,70) = 40... хотя по твоей логике он должон быть 30...
...
Рейтинг: 0 / 0
Непонятно как работает MOD
    #32326543
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видимо я непонятно выразился с первого раза. Повторю еще раз:

Функция MOD() (также как и %) неверно работает , если делимое и делитель имеют разный знак. Для корректной работы, перед выделением остатка необходимо привести делимое и делитель к одному знаку.

Так что MOD(-100,70)=40 - это ошибочный результат. Должно быть как раз таки -30. Предположительно, проблема в том, что Fox определяет остаток, как разницу ближайшего большего и делимого. Т.е. ближайшее большее к 100 - это 140, тогда разница 140-100=40.
...
Рейтинг: 0 / 0
Непонятно как работает MOD
    #32326554
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аааа-сно!
пасиба... учту
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Непонятно как работает MOD
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]