Der Buchhalter: Bitweiser NOT-Operator enttäuscht meine Erwartung

Beitrag lesen

Moin,

ich experimentiere grad mit Bit-Operatoren in Javascript. Den Hinweis im Wiki, dass Bit-Operatoren nur etwas für Experten sind, habe ich mal überlesen - irgendwie muss man ja anfangen. Einige Dinge haben schon geklappt, aber nun habe mir eine scheinbar einfache Aufgabe gestellt und finde das richtige Werkzeug nicht.

Ich möchte, dass aus "1101" der Wert "0010" wird. Soweit ich mich eingelesen habe, suche ich das Einerkomplement. Und als Werkzeug hatte/habe ich den NOT-Operator in Verdacht.

Die Umkehr des Vorzeichens und die daraus resultierende Darstellung als Zweierkomplement scheinen meinem Plan im Wege zu stehen. Aber noch habe ich die Hoffnung, dass mir nur mein eigenes Nicht-Verständnis der Materie mir im Weg steht.

Wo bin ich gedanklich falsch abgebogen? Was muss ich verstehen, um meine Aufgabe lösen zu können? Warum finde ich immer wieder den Hinweis, einfach den NOT-Operator zu verwenden um das Einerkomplement zu erhalten? Ist es eine Eigenheit von Javascript, dass das Ergebnis als Zweierkomplement zurückgegeben wird?

Fragende Grüße vom Buchhalter

PS: Um mein Wunsch-Ergebnis zu erreichen ist mir bislang nur folgender Ansatz eingefallen:

x = 13 // 1101
y = 2 ** x.toString(2).length - 1 ^ x // 0010
// oder
y = 2 ** x.toString(2).length - 1 - x // 0010

Dieser Ansatz ist mir auch im Netz als Lösungsvorschlag untergekommen. Mir missfällt aber der Einsatz einer String-Methode. Und ich hätte es gern kompakter.

0 60

Bitweiser NOT-Operator enttäuscht meine Erwartung

Der Buchhalter
  • javascript
  1. 2
    Gunnar Bittersmann
    1. 0
      Der Buchhalter
      1. 0
        Gunnar Bittersmann
        1. 0
          Der Buchhalter
          1. 0
            Gunnar Bittersmann
            1. 0
              Der Buchhalter
          2. 0
            Rolf B
            1. 0
              Gunnar Bittersmann
              1. 0
                Rolf B
            2. 0
              Der Buchhalter
              1. 0
                Rolf B
              2. 0
                Christian Kruse
                1. 0

                  Zombies

                  Der Martin
                  • zu diesem forum
                  1. -1
                    Gunnar Bittersmann
        2. 0
          Der Buchhalter
          1. 0
            Robert B.
            1. 0
              Gunnar Bittersmann
              1. 0
                Robert B.
                1. 0
                  Der Martin
                  1. 0
                    Robert B.
                    1. 0
                      Der Martin
                      1. 0
                        Robert B.
                        • mathematik
                        1. 0
                          Rolf B
                          1. 0
                            Robert B.
                          2. 1
                            MudGuard
                            • sprache
                            1. 0
                              Gunnar Bittersmann
                              1. 0
                                Tabellenkalk
                              2. 0
                                Gunnar Bittersmann
                                1. 0
                                  Der Martin
                                  1. 0
                                    Auge
                                    • menschelei
                                    • sprache
                                    1. 0
                                      Der Martin
                                    2. 0
                                      Gunnar Bittersmann
                                      1. 0
                                        Gunnar Bittersmann
            2. 0
              Der Buchhalter
            3. 0
              Gunnar Bittersmann
  2. 0
    Rolf B
    1. 0
      Gunnar Bittersmann
      1. 0
        Rolf B
        1. 0
          Der Martin
          1. 0
            Rolf B
        2. 0
          Gunnar Bittersmann
  3. -3
    TS
    • javascript
    • versionsverwaltung
    1. 0
      Rolf B
      1. 0
        JürgenB
        1. 0
          Rolf B
          1. 0
            JürgenB
    2. 0
      Mitleser 2.0
      1. 0
        TS
        • javascript
        • mitarbeit
        • versionsverwaltung
        1. 0
          Mitleser 2.0
          1. 0
            TS
            • mitarbeit
          2. 0
            Rolf B
            1. -2
              TS
              1. 0
                Rolf B
  4. 0
    Samuel fiedler
    1. 0
      Gunnar Bittersmann
  5. 0
    Ich:
  6. 0
    Alexander Hein
    • php
    1. 1
      Rolf B
      1. 1
        TS
        • datentypen
        • php