Modulo ?

Discussion in 'Ruby' started by Zayd Connor, Mar 19, 2009.

  1. Zayd Connor

    Zayd Connor Guest

    Zayd Connor, Mar 19, 2009
    #1
    1. Advertising

  2. Zayd Connor

    7stud -- Guest

    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.




    --
    Posted via http://www.ruby-forum.com/.
    7stud --, Mar 19, 2009
    #2
    1. Advertising

  3. Zayd Connor

    Brian Adkins Guest

    Zayd Connor <> 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' ;)

    --
    Brian Adkins
    http://lojic.com/
    Brian Adkins, Mar 19, 2009
    #3
  4. 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
    Robert Klemme, Mar 19, 2009
    #4
  5. 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 Biedenharn, Mar 19, 2009
    #5
  6. 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
    Robert Klemme, Mar 19, 2009
    #6
  7. Zayd Connor

    Zayd Connor Guest

    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
    >


    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

    --
    Posted via http://www.ruby-forum.com/.
    Zayd Connor, Mar 19, 2009
    #7

  8. > 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.
    =======================================================================
    Michael Malone, Mar 19, 2009
    #8
  9. 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
    Sebastian Hungerecker, Mar 19, 2009
    #9
  10. Sebastian Hungerecker wrote:
    > 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
    >
    >

    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.
    =======================================================================
    Michael Malone, Mar 19, 2009
    #10
  11. On Mar 19, 2009, at 5:07 PM, Michael Malone wrote:

    > Sebastian Hungerecker wrote:
    >> 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
    >>
    >>

    > 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



    [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 Biedenharn, Mar 19, 2009
    #11
  12. 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
    Sebastian Hungerecker, Mar 19, 2009
    #12
  13. Sebastian Hungerecker wrote:
    > 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
    >
    >

    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.
    =======================================================================
    Michael Malone, Mar 19, 2009
    #13
  14. Zayd Connor

    Brian Adkins Guest

    Robert Klemme <> 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.

    --
    Brian Adkins
    http://lojic.com/
    Brian Adkins, Mar 19, 2009
    #14
  15. On 3/19/09 6:03 PM, Sebastian Hungerecker wrote:
    > 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?


    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
    John W Kennedy, Mar 20, 2009
    #15
  16. On Mar 19, 5:15=A0pm, Michael Malone <> wrote:
    > Sorry for confusing everyone here, I just know of a particular case
    > where 0%7 =3D 7 was assumed.


    This is confusing. As in 0%7 =3D 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.

    --
    -yossef
    Yossef Mendelssohn, Mar 20, 2009
    #16
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Christian Kruggel

    General modulo-question

    Christian Kruggel, Jul 7, 2003, in forum: Java
    Replies:
    1
    Views:
    444
    Brad BARCLAY
    Jul 7, 2003
  2. Replies:
    1
    Views:
    662
    Darryl L. Pierce
    May 20, 2004
  3. Tjerk Wolterink

    [xsl] sort & modulo

    Tjerk Wolterink, Apr 21, 2005, in forum: XML
    Replies:
    3
    Views:
    567
    Dimitre Novatchev
    Apr 22, 2005
  4. silentlights

    Fast Division/Modulo Operation

    silentlights, Apr 16, 2004, in forum: C Programming
    Replies:
    8
    Views:
    984
    Dik T. Winter
    Apr 23, 2004
  5. Griff

    Problems using modulo

    Griff, Apr 19, 2004, in forum: Python
    Replies:
    5
    Views:
    393
    Diez B. Roggisch
    Apr 20, 2004
Loading...

Share This Page