Forum: Ruby Modulo ?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
78947e02afdcaabbda360f9d112bfbe0?d=identicon&s=25 Musdev Musdev (devrubygem)
on 2009-03-19 06:51
Maybe i need to get some sleep, but can someone explain how modulos
work?

Thanks
54404bcac0f45bf1c8e8b827cd9bb709?d=identicon&s=25 7stud -- (7stud)
on 2009-03-19 07:18
Zayd Connor wrote:
> Maybe i need to get some sleep, but can someone explain how modulos
> work?
>
> Thanks

result = 7 % 3
puts result

--output:--
1

7 has two 3's in it, and after removing those two 3's from 7, the
remainder is 1.
8666d1ebabcea440585dfe831a4af9f1?d=identicon&s=25 Brian Adkins (Guest)
on 2009-03-19 14:50
(Received via mailing list)
Zayd Connor <devrubygem@gmail.com> writes:

> Maybe i need to get some sleep, but can someone explain how modulos
> work?

From "Discrete Mathematics by Rosen":

"Let a be an integer and m be a positive integer. We denote by a mod m
the remainder when a is divided by m.

It follows from the definition of remainder that a mod m is the
integer r such that:

a = q * m + r and 0 <= r < m "

This is all assuming you didn't type an 'o' when you meant 'e' ;)
E0d864d9677f3c1482a20152b7cac0e2?d=identicon&s=25 Robert Klemme (Guest)
on 2009-03-19 15:26
(Received via mailing list)
On 19.03.2009 06:50, Zayd Connor wrote:
> Maybe i need to get some sleep, but can someone explain how modulos
> work?

http://lmgtfy.com/?q=modulo
Ef3aa7f7e577ea8cd620462724ddf73b?d=identicon&s=25 Rob Biedenharn (Guest)
on 2009-03-19 15:43
(Received via mailing list)
On Mar 19, 2009, at 10:22 AM, Robert Klemme wrote:

> On 19.03.2009 06:50, Zayd Connor wrote:
>> Maybe i need to get some sleep, but can someone explain how modulos
>> work?
>
> http://lmgtfy.com/?q=modulo
>


This seems completely unnecessary.  There was already a great response
from Brian who not only directly addressed the "modulos", but also
picked up and pointed out (subtly) that the question might have been
about "modules". Something that makes perfect sense, but I certainly
didn't see that possibility.

And did you Google modulo or module yourself to see how useful the
result really is? If you're going to simply shout lmgtfy, at least put
"ruby" in there, too (well, for module, not for modulo ;-)

-Rob

Rob Biedenharn    http://agileconsultingllc.com
Rob@AgileConsultingLLC.com
E0d864d9677f3c1482a20152b7cac0e2?d=identicon&s=25 Robert Klemme (Guest)
on 2009-03-19 16:05
(Received via mailing list)
On 19.03.2009 15:40, Rob Biedenharn wrote:
> And did you Google modulo or module yourself to see how useful the
> result really is?

I did.

  robert
78947e02afdcaabbda360f9d112bfbe0?d=identicon&s=25 Musdev Musdev (devrubygem)
on 2009-03-19 16:15
Rob Biedenharn wrote:
> On Mar 19, 2009, at 10:22 AM, Robert Klemme wrote:
>
>> On 19.03.2009 06:50, Zayd Connor wrote:
>>> Maybe i need to get some sleep, but can someone explain how modulos
>>> work?
>>
>> http://lmgtfy.com/?q=modulo
>>
>
>
> This seems completely unnecessary.  There was already a great response
> from Brian who not only directly addressed the "modulos", but also
> picked up and pointed out (subtly) that the question might have been
> about "modules". Something that makes perfect sense, but I certainly
> didn't see that possibility.
>
> And did you Google modulo or module yourself to see how useful the
> result really is? If you're going to simply shout lmgtfy, at least put
> "ruby" in there, too (well, for module, not for modulo ;-)
>
> -Rob
>
> Rob Biedenharn    http://agileconsultingllc.com
> Rob@AgileConsultingLLC.com

Thanks guys,(singing) I can see clearly now the rain is gone :). Maybe I
should have been more clear and added the % sign when mentioning modulo,
so I wouldn't confuse anyone thinking I meant modules :)

Thanks
770048af205ed307b8cf35ae2282ee2f?d=identicon&s=25 Michael Malone (Guest)
on 2009-03-19 21:02
(Received via mailing list)
> Thanks guys,(singing) I can see clearly now the rain is gone :). Maybe I
> should have been more clear and added the % sign when mentioning modulo,
> so I wouldn't confuse anyone thinking I meant modules :)
>
> Thanks
>
>
Though there is one thing I would like to point out: 0 % 7 = 0
So 'remainder' is not strictly true

Michael


=======================================================================
This email, including any attachments, is only for the intended
addressee.  It is subject to copyright, is confidential and may be
the subject of legal or other privilege, none of which is waived or
lost by reason of this transmission.
If the receiver is not the intended addressee, please accept our
apologies, notify us by return, delete all copies and perform no
other act on the email.
Unfortunately, we cannot warrant that the email has not been
 altered or corrupted during transmission.
=======================================================================
7a561ec0875fcbbe3066ea8fe288ec77?d=identicon&s=25 Sebastian Hungerecker (Guest)
on 2009-03-19 21:53
(Received via mailing list)
Michael Malone wrote:
> Though there is one thing I would like to point out: 0 % 7 = 0
> So 'remainder' is not strictly true

Sorry I don't follow you. What's the remainder of 0/7 if not 0?
0-7*0 is 0, is it not?

Confused,
Sebastian
770048af205ed307b8cf35ae2282ee2f?d=identicon&s=25 Michael Malone (Guest)
on 2009-03-19 22:11
(Received via mailing list)
Sebastian Hungerecker wrote:
> Sebastian
>
>
Many people I know and work with simplify the modulo operator to
themselves as remainder, so mentally (whether or not it is correct)
assume 0/7 = 0 r 7
I am just making an explicit example of this not necessarily obvious
case.  It's totally fine when one knows the semantics of modulo, it's
the simplification to remainder that many people make that causes
problems here.

Michael

=======================================================================
This email, including any attachments, is only for the intended
addressee.  It is subject to copyright, is confidential and may be
the subject of legal or other privilege, none of which is waived or
lost by reason of this transmission.
If the receiver is not the intended addressee, please accept our
apologies, notify us by return, delete all copies and perform no
other act on the email.
Unfortunately, we cannot warrant that the email has not been
 altered or corrupted during transmission.
=======================================================================
Ef3aa7f7e577ea8cd620462724ddf73b?d=identicon&s=25 Rob Biedenharn (Guest)
on 2009-03-19 22:45
(Received via mailing list)
On Mar 19, 2009, at 5:07 PM, Michael Malone wrote:

>> Confused,
>
> Michael


[I hope this survives email formatting...]

        __0_r_0_
      7 ) 0
0*7 =>  -0
         ==
          0

Just because people can't understand division and remainders isn't
enough to keep them away from technical discussions. The original
response (which I deleted months ago [or was that yesterday?]) had an
accurate definition.

-Rob

Rob Biedenharn    http://agileconsultingllc.com
Rob@AgileConsultingLLC.com
7a561ec0875fcbbe3066ea8fe288ec77?d=identicon&s=25 Sebastian Hungerecker (Guest)
on 2009-03-19 23:06
(Received via mailing list)
Michael Malone wrote:
> Many people I know and work with simplify the modulo operator to
> themselves as remainder, so mentally (whether or not it is correct)
> assume 0/7 = 0 r 7

Maybe I'm slow, but I don't get it.
You're saying that many people assume that x % y is the same as the
remainder
of dividing x by y, right? I don't see anything wrong with that.
If I understand you correctly, you're also saying that this assumption
is
wrong in the case of 0%7. I don't understand why that should be the
case. The
remainder of 0/7 is 0, right? And 0%7 is also 0, so where's the problem?

Still confused,
Sebastian
770048af205ed307b8cf35ae2282ee2f?d=identicon&s=25 Michael Malone (Guest)
on 2009-03-19 23:18
(Received via mailing list)
Sebastian Hungerecker wrote:
> If I understand you correctly, you're also saying that this assumption is
> wrong in the case of 0%7. I don't understand why that should be the case. The
> remainder of 0/7 is 0, right? And 0%7 is also 0, so where's the problem?
>
> Still confused,
> Sebastian
>
>
Sorry for confusing everyone here, I just know of a particular case
where 0%7 = 7 was assumed.  I was trying to stop this happening again,
but I think I've caused more confusion than it's worth.  Sorry folks.
Ignore my post and you'll sleep more easily.

Michael

=======================================================================
This email, including any attachments, is only for the intended
addressee.  It is subject to copyright, is confidential and may be
the subject of legal or other privilege, none of which is waived or
lost by reason of this transmission.
If the receiver is not the intended addressee, please accept our
apologies, notify us by return, delete all copies and perform no
other act on the email.
Unfortunately, we cannot warrant that the email has not been
 altered or corrupted during transmission.
=======================================================================
8666d1ebabcea440585dfe831a4af9f1?d=identicon&s=25 Brian Adkins (Guest)
on 2009-03-19 23:25
(Received via mailing list)
Robert Klemme <shortcutter@googlemail.com> writes:

> On 19.03.2009 06:50, Zayd Connor wrote:
>> Maybe i need to get some sleep, but can someone explain how modulos
>> work?
>
> http://lmgtfy.com/?q=modulo

That is *awesome* !  Sponsored by "Backpack" - interesting.
4fea1ef11180adaaa299d503ca6010d0?d=identicon&s=25 John W Kennedy (Guest)
on 2009-03-20 03:10
(Received via mailing list)
On 3/19/09 6:03 PM, Sebastian Hungerecker wrote:
> remainder of 0/7 is 0, right? And 0%7 is also 0, so where's the problem?
Going by the usual definition of "remainder", there is a difference
between modulo and remainder when negative numbers get involved.

   remainder(a,b) = a - trunc(a/b) * b
   modulo(a,b) = a - floor(a/b) * b
B1b1d33e0655e841d4fd8467359c58d0?d=identicon&s=25 Yossef Mendelssohn (Guest)
on 2009-03-20 03:58
(Received via mailing list)
On Mar 19, 5:15 pm, Michael Malone <michael.mal...@tait.co.nz> wrote:
> Sorry for confusing everyone here, I just know of a particular case
> where 0%7 = 7 was assumed.

This is confusing. As in 0%7 = 7 is very confusing.

A mod B shouldn't have a result that's equal to or greater than B. If
that happens, you take a B out until you can't anymore. The remainder
when A is divided by B is the same thing. If you end up with something
greater than B, you stopped too soon.

As John W. Kennedy pointed out, the difference between modulo and a
simple remainder comes up when dealing with negative numbers.
This topic is locked and can not be replied to.