1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Bitweises Not

  • muckel
  • 17. Februar 2010 um 16:35
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • muckel
    Punkte
    15
    Beiträge
    2
    • 17. Februar 2010 um 16:35
    • #1

    Hallo,
    ich verzweifel gerade:

    das Bitweise not (~), wie funktioniert das?

    3 = 00000011

    ~ 00000011 = 11111100

    Laut Java kommt aber -4 Raus, egal welches x ich benutze, es kommt immer als Ergebnis -(x+1) raus. Wieso? Wie kann ich das von Hand im Binärsystem nachvollziehen?

    LG

  • Erklärbär
    Punkte
    661
    Beiträge
    130
    • 17. Februar 2010 um 16:38
    • #2

    Negative Zahlen werden im 2er-Komplement abgebildet
    http://de.wikipedia.org/wiki/Zweierkomplement

  • muckel
    Punkte
    15
    Beiträge
    2
    • 17. Februar 2010 um 16:52
    • #3

    Danke,
    aber ich verstehe immer noch nicht, wieso Java mit -4 als Ergebis von ~3 ausspuckt.

    1) Ersteinmal 3 in Binärform bringen, also 011
    2) Invertieren = 100
    3) 1 addieren = 101
    4) rechne ich 101 wieder ins Dezimalsystem um =-(1*2^2) + 0*2^1 + 1*2^1 = -4+1 = -3

    Also macht Java Schritt 3 nicht?

  • lewurm
    Punkte
    437
    Beiträge
    81
    • 17. Februar 2010 um 17:06
    • #4

    weil du das Einerkomplement mit ~ bildest. um negative zahlen zu erhalten brauchst du nicht auf bitebene gehen, sondern es reicht z.b. eine multiplikation mit -1 oder einfach eine zuweiseung der art

    Code
    var = -var;
  • Ringding
    Punkte
    1.237
    Beiträge
    244
    • 19. Februar 2010 um 12:00
    • #5
    Zitat von muckel

    Also macht Java Schritt 3 nicht?

    Nein. Wieso sollte es auch? Du hast ja hingeschrieben:

    ~x

    und nicht

    ~x + 1

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum