+ Antworten
Ergebnis 1 bis 5 von 5

Frage zu modulo(%)

Eine Diskussion über Frage zu modulo(%) im Forum Technik Ecke. Teil des Off Topic-Bereichs; Hi, ich bräuchte mal ne Antwort auf folgende Frage: Durch welche äquivalente (logische) Operation ist der Ausdruck ‚foo %= 16’ ...

  1. #1
    will bespaßt werden
    Avatar von Stalker
    Registriert seit
    30.10.2004
    Ort
    Siegen, NRW
    Alter
    35
    Beiträge
    1.722
    Name
    Andre
    Nick
    airborne

    Frage zu modulo(%)

    Hi,

    ich bräuchte mal ne Antwort auf folgende Frage:

    Durch welche äquivalente (logische) Operation ist der Ausdruck ‚foo %= 16’ prinzipiell ersetzbar (foo sei dabei eine Vorzeichenlose Integer-Variable)?
    In meinen Büchern und bei Google hab ich dazu nichts gefunden.

    Das muss irgendwas mit Shiftoperationen zu tun haben und dann bestimmte Bits in der Variable auf Null setzen.

    Allerdings hab ich keine Idee wie das funzen könnte

    MfG Stalker
    "Irren ist menschlich, aber wenn man richtigen Mist bauen will, braucht man einen Computer."

    Dan Rather

  2. #2
    Bei PHP hat es im folgenden beschriebene Bedeutung:

    http://www.selfphp.info/praxisbuch/p...te=88&group=14

    %= Modulozuweisung

    Bedeutung:
    $a %= $b weist $a den Wert von $a % $b zu und liefert $a % $b als Rückgabewert

  3. #3
    ich verstehe die frage nicht ganz.

    eine alternative wäre

    while(foo >= 16)
    foo - 16

    so enthält foo am ende den gleichen wert wie bei foo %= 16

  4. #4
    UF Supporter
    Avatar von BseBear
    Registriert seit
    27.09.2003
    Ort
    Stuttgart
    Alter
    31
    Beiträge
    3.945
    Name
    Michael
    Nick
    bsebear
    Vermutlich soll er den modulo Wert auf logische Operationen zurückführen, da ein Prozessor ja im Grunde nur aus logischen Gattern besteht. Hat er nun grade ne Vorlesung zu Rechnertechnik oder Assembler muss er den Modulo Befehl eben mit "Bordmitteln" des Prozessors zusammenbauen.

    Beim Dividieren und Multiplizieren mit 2er Potenzen reichen beispielsweise auch shifts aus um das Ergebnis zu berechnen. Hier wirds ähnlich sein, nur hab ich jetzt leider keine Zeit um mich da genauer reinzudenken.

  5. #5
    will bespaßt werden
    Avatar von Stalker
    Registriert seit
    30.10.2004
    Ort
    Siegen, NRW
    Alter
    35
    Beiträge
    1.722
    Name
    Andre
    Nick
    airborne
    Ich hatte ganz vergessen, dass dieser Thread noch existiert o.O

    BseBear hat recht, weil 16 eine Potenz von 2 (2^4) ist, kann man einfach mit

    1. foo &= ~(15<<4)

    die ersten 4 Bits auf null setzen. So hat man in der Variablen nur noch den Rest stehen.
    "Irren ist menschlich, aber wenn man richtigen Mist bauen will, braucht man einen Computer."

    Dan Rather

+ Antworten

Ähnliche Themen

  1. mal ne frage: IST DAS FAIR?....
    Von obiwaannn im Forum Tiberian Sun
    Antworten: 39
    Letzter Beitrag: 20.09.2001, 16:18
  2. mal ne frage
    Von aKLTenchu im Forum United Talk
    Antworten: 2
    Letzter Beitrag: 11.09.2001, 17:08
  3. mal ne frage
    Von aKLTenchu im Forum Dune Emperor
    Antworten: 17
    Letzter Beitrag: 25.08.2001, 22:16
  4. ma ne frage
    Von fert im Forum Tiberian Sun
    Antworten: 4
    Letzter Beitrag: 12.08.2001, 03:08
  5. ich hab mal ne kleine frage
    Von swiss9999 im Forum Alarmstufe Rot 2
    Antworten: 1
    Letzter Beitrag: 08.08.2001, 01:11

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •