Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/68: Рейтинг темы: голосов - 68, средняя оценка - 4.97
0 / 0 / 0
Регистрация: 15.10.2006
Сообщений: 29
1

Как работает оператор MOD?

19.12.2006, 20:39. Показов 13898. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как работает оператор MOD(возвращает остаток от деления) ???
пример:
a= 155000 mod 6.25
a=4????? почему?????????
он работает только с целочисленными значениями?
Подскажите как быть.....
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2006, 20:39
Ответы с готовыми решениями:

Как работает mod
Как работает mod если первый операнд меньше второго? Почему данный код выдает 6, а не 5? ...

Оператор div и mod
Помогите написать программу в Pascal ABC: Найти целую часть от деления на 7 целой части значения...

Что означает оператор MOD?
Вот есть программа var a, s: integer; begin s:= 0; readln(a); while a<>0 do begin if...

Оператор Mod - некорректный результат программы
выдает какую-то лажу Console.WriteLine(221^20); //вывод: 201 как? должно быть 1

12
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
19.12.2006, 20:47 2
http://msdn.microsoft.com/library/rus/default.asp?url=/library/rus/vbls7/html/vblrfvbspec11_5_5.asp http://msdn.microsoft.com/library/rus/default.asp?url=/library/rus/vbls7/html/vblrfvbspec11_5_5.asp
<B>Single</B> и <B>Double</B>. Остаток вычисляется в соответствии с арифметическими правилами IEEE 754.
0
0 / 0 / 1
Регистрация: 17.09.2014
Сообщений: 46
05.12.2014, 09:29 3
Теме 8 лет на днях. Не приходилось ранее сталкиваться с этим оператором. Полистал тырнет в поисках описания его работы, но толком ничего не понял. Но не суть, он работает исправно. Вопрос иной.

Я получил значение цвета в пикселе - 4142914. Извлёк из него красную составляющую - 66, зелёную - 55 и синюю - 63. Далее по ходу вычислений потребовалось изменить значение одного из цветов. Допустим, красное надо увеличить до 68, а синее уменьшить до 61. Каким образом все 3 цвета собрать воедино? То есть, мне необходимо нечто вроде оператора, обратного MOD.

Кому не жаль потраченного времени, ткине в ссылку, где почитать? Что-то мои поиску успехом не увенчались.
0
es geht mir gut
11270 / 4752 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
05.12.2014, 09:33 4
Visual Basic
1
2
3
4
5
6
7
dim c as long
 
R=65
G=55
B=63
 
c = RGB(R, G, B) '  Вот и собрали  все цвета в кучу :)
0
0 / 0 / 1
Регистрация: 17.09.2014
Сообщений: 46
05.12.2014, 09:35 5
Ага. Второй раз Вы меня выручаете. Спасибо!
0
211 / 201 / 63
Регистрация: 24.09.2014
Сообщений: 532
05.12.2014, 09:35 6
RGB = (R mod 256)*256*256+(G mod 256)*256+(B mod 256)
RGBA =(R mod 256)*256*256*256 + (G mod 256)*256*256+(B mod 256)*256+(A mod 256)
либо
RGB = (R and 255)<<16+(G and 255)<<8+(B and 255)
RGBA = (R and 255)<<24+(G and 255)<<16+(B and 255)<<8+(A and 255)

в принципе можно и без модулей (илил оператора and) если у тебя тип состовляющих однобайтовый и не предвидится переполнения

P.S. функция RGB возвращает Integer,а не long
0
Заблокирован
05.12.2014, 09:40 7
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Visual Basic
1
новый_цвет=68& + 256*55+65536*61
Добавлено через 42 секунды

Не по теме:

налетели:D

0
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
05.12.2014, 09:53 8
arrjj, не вводи в заблуждение!
P.S. функция RGB возвращает Integer,а не long
Integer-а не хватит!
Справка
Функция RGB
Возвращает значение типа Long, т.е. целое число, представляющее цвет в модели RGB.
Вот аргументы функции да! Integer
0
0 / 0 / 1
Регистрация: 17.09.2014
Сообщений: 46
05.12.2014, 09:57 9
Спасибо за подсказки всем.
А RGB действительно возвращает long, Integer,а не хватило.
0
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
05.12.2014, 09:58 10
Да и вообще справку не мешало иногда почитать прежде чем постить заведомо кривые решения.
К чему всё это?
Visual Basic
1
2
RGB = (R mod 256)*256*256+(G mod 256)*256+(B mod 256)
RGB = (R and 255)<<16+(G and 255)<<8+(B and 255)
Ведь в справке ясно написано!

Значение любого аргумента функции RGB, превышающее 255, считается равным 255.
1
211 / 201 / 63
Регистрация: 24.09.2014
Сообщений: 532
05.12.2014, 10:19 11
Alex77755, наверно разные справки читаем msdn говорит что
Возвращает значение типа Integer
и выбрасывает исключение если
ArgumentException Значение Green, Blue или Red находится за пределами диапазона от 0 до 255 включительно.
да и RGBA32 прекрасно умещается в Int32

Добавлено через 2 минуты
Или мы о разных версиях говорим?
0
211 / 201 / 63
Регистрация: 24.09.2014
Сообщений: 532
05.12.2014, 10:35 13
Апострофф, ах вот оно чё
0
05.12.2014, 10:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2014, 10:35
Помогаю со студенческими работами здесь

Программа Оператор div и mod в PASKAL
Чему равны значения переменных а и в после выполнения приведенной последовательности действий?...

Как работает оператор new?
Есть вопрос по оператору new. Товарищ Джефри Рихтер в своей книге пишет про new следующее ...

Как работает оператор if?
Народ! Операция сравнения возвращает ЧИСЛО, т.е. while и if принимают ЧИСЛО (0 - false, etc -...

Как работает оператор >>
Помогите понять что тут происходит, желательно по подробнее, что б потом сам мог это использовать....


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru