Bits genau setzen ?



  • pointercrash() schrieb:

    Performance dahin, kaum Platz gespart ... *keine gute Idee*, nur um nicht Schwachsinn 😮 sagen zu müssen

    eben drum, ich hatte weiter oben ein paar schicke macros gepostet (zwar mit flüchtigkeitsfehlern drin), aber davon will ja keiner was wissen.
    🙂



  • macro-troll schrieb:

    eben drum, ich hatte weiter oben ein paar schicke macros gepostet (zwar mit flüchtigkeitsfehlern drin), aber davon will ja keiner was wissen.
    🙂

    doch, ich ! 🙂

    und zwar wieso &3 den selben wert wie %4 liefert.
    kann man das irgendwie mathematisch zeigen ?
    also im moment komme ich nicht drauf wie. 😕



  • macro-troll-fan schrieb:

    kann man das irgendwie mathematisch zeigen ?

    ich kanns zwar nicht mathematisch zeigen, aber im binärsystem funzt dieses speed-modulo auch nur mit zweierpotenzen. alle stellen rechts vom teiler müssen 0 sein, dann isses ohne rest teilbar. in anderen zahlensystemen ist es ja so ähnlich, also im zehnersystem bei allen teilern, die selber glatt durch die basis teilbar sind usw...
    🙂



  • macro-troll-fan schrieb:

    macro-troll schrieb:

    eben drum, ich hatte weiter oben ein paar schicke macros gepostet (zwar mit flüchtigkeitsfehlern drin), aber davon will ja keiner was wissen.
    🙂

    doch, ich ! 🙂
    und zwar wieso &3 den selben wert wie %4 liefert.
    kann man das irgendwie mathematisch zeigen ? ...

    ÖÄhmm, im Prinzip schon, aber es will ja keiner was davon wissen, so why ...



  • pointercrash() schrieb:

    macro-troll-fan schrieb:

    macro-troll schrieb:

    eben drum, ich hatte weiter oben ein paar schicke macros gepostet (zwar mit flüchtigkeitsfehlern drin), aber davon will ja keiner was wissen.
    🙂

    doch, ich ! 🙂
    und zwar wieso &3 den selben wert wie %4 liefert.
    kann man das irgendwie mathematisch zeigen ? ...

    ÖÄhmm, im Prinzip schon, aber es will ja keiner was davon wissen, so why ...

    wenn es niemand wissen wollte, dann würde auch niemand danach fragen.



  • der wissbegierige schrieb:

    wenn es niemand wissen wollte, dann würde auch niemand danach fragen.

    Dachte, Du willst mich veralbern 🤡
    mit %4 führst Du eine Modulo- Division durch. Bei /4 würdest Du im Binärsystem zweimal rechts shiften, also /2 /2. Was da überbleibt, ist das Ergebnis der Integer- Division, was Du nach rechts rausgeshiftet hast, ist der Modulo- Rest. Das sind die unteren beiden Bits und die kannst Du genausogut (naja, zumeist schneller) durch Verundung gewinnen. Daß bei 3 die unteren beiden Bits gesetzt sind, muß ich nicht gesondert erklären, oder? 😉
    Genügt die anschauliche Erklärung, oder soll ich den Bronstein zücken und von dort aus dem Abschnitt Zahlensysteme rezitieren?



  • pointercrash() schrieb:

    Daß bei 3 die unteren beiden Bits gesetzt sind, muß ich nicht gesondert erklären, oder? 😉

    nööööööööö

    pointercrash() schrieb:

    Genügt die anschauliche Erklärung, oder soll ich den Bronstein zücken und von dort aus dem Abschnitt Zahlensysteme rezitieren?

    Nö, nicht nötig, die Erklärung ist spitze 👍
    Danke dafür.

    Also ich es mir aufgeschrieben und mit diversen Zahlen probiert habe, hab ich es auch geblickt *stolz*

    Also, wenn ich %4 haben will, schreibe ich &3.
    Möchte ich %8, schreibe ich &7.
    Will ich %16 kann ich dafür &15 setzen.
    %32 -> &31 usw.

    Also ist immer %(2^x) gleichwertig mit &(2^x-1)

    Jetzt hab auch ich es kapiert 🙂


Anmelden zum Antworten