[Java] Warum zur hölle kommt das raus?

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Ehmteakay, 12. Januar 2011 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 12. Januar 2011
    Warum zur hölle kommt das raus?

    Code:
    public class test {
    
     public static void main(String[] args) {
     
    
     byte x1, x2, y1, y2;
     x1 = 42;
     x2 = 18;
     
     System.out.println(x1 | x2); // Ausgabe = 2
     }}
    warum kommt da 58 raus?

    Code:
    public class test {
    
     public static void main(String[] args) {
     
    
     byte x1, x2, y1, y2;
     x1 = 42;
     x2 = 18;
     
     System.out.println(x1 & x2); // Ausgabe = 2
     }}
    und hier 2?

    ich komm nisch drauf
     
  2. 12. Januar 2011
    AW: Warum zur hölle kommt das raus?

    bitweise wird verODERt bzw. verUNDet

    42 = 101010
    18 = 010010
    ODER=111010 = 58
    UND= 000010 = 2

    MfG
     
  3. 12. Januar 2011
    AW: Warum zur hölle kommt das raus?

    weil das halt so ist ^^

    du kennst das binäre system und bitweise operatoren?

    1 oder 1 = 1
    1 oder 0 = 1
    0 oder 1 = 1
    0 oder 0 = 0
    1 und 1 = 1
    1 und 0 = 0
    0 und 1 = 0
    0 und 0 = 0
     
  4. 12. Januar 2011
    AW: Warum zur hölle kommt das raus?

    Kennen ja nur durch das thema blick ich noch nicht so in der programmierung durch

    in mathe war das ganze bissjn einfacher...

    1 und 0 krieg ich hin

    das mit den boolean werten find ich viel komplexer

    4. Aufgabe (Boole'sche Algebra)
    Geben Sie, falls möglich, eine kürzere Form für die folgenden Boole'schen Terme an!

    !(!x) =

    x && x =

    x || 1 =

    x && (x || !x) =

    x || 0 =

    a && (b || !b) =

    x && !x =

    a && (a || b) =

    x && 1 =

    (x && a) || (x && b) =
     
  5. 12. Januar 2011
    AW: Warum zur hölle kommt das raus?

    naja das is wie bei einer leitung...
    1
    --|
    . --1 <--das is halt die oder verknüpfung.. weil sobald einmal strom da is (1) kommt
    --| bei der lampe auch 1 an
    0
     
  6. 12. Januar 2011
    AW: Warum zur hölle kommt das raus?

    das ist das selbe prinzip. 1 und 1 = 1 usw... wobei hier 1 = true und 0 = false

    der erste ausdruck wäre vereinfacht: x denn mit ! wird der wert umgekehrt
    Code:
    if (!(!x) == true) ... 
    
    entspricht:
    
    if (x == true) ...
    Spoiler
    keine hausaufgaben!

    // @swissmaster: hast recht, hab einfach drauf los geschrieben ohne mir groß gedanken zu machen ...
     
  7. 13. Januar 2011
    AW: Warum zur hölle kommt das raus?

    dass ausgerechnet ein mod hier jemandem die hausaufgaben löst?? ?(

    by the way, googles erstes resultat zur booleschen algebra ist wikipedia, tip top erklärt: Boolesche Algebra – Wikipedia

    greez
     
  8. 13. Januar 2011
    AW: Warum zur hölle kommt das raus?

    Ich denke, in Java ist der !-Operator definiert wie in C. Der !-Operator ist dabei nicht die bitweise Negation sondern die Negation von (x!=0) als 1-bit Wert. Die bitweise Negation erreicht man mit dem ~-Operator.

    Demnach ist !(!x) auch nicht x, sondern genau 1, wenn x verschieden von 0 ist und 0 falls x gleich 0 ist.
    Beispiel:
    x=1010
    !x = 0000
    !!x = 0001
    aber
    y=0000
    !y=0001
    !!y=0000=y

    Dagegen
    ~x=0101

    Deshalb ist es auch FALSCH was Murdoc geschrieben hat (schlagt mich nicht, wenn es in Java anders sein sollte, kann ich mir aber nicht vorstellen).
    Beispiel:
    Code:
     int x = 10;
     if(!(!x)==true) {
     cout << "a" << endl;
     }
     if(x==true) {
     cout << "b" << endl;
     }
    
    Hier wird nur "a" ausgegeben, weil !10==0 und !0==1 und 1==true
    aber eben nicht "b", weil "true" eben nicht 10 ist!
    Ein cast würde in C/C++ wiederum funktionieren, also (bool)x==true würde erfolgreich sein, da aus der 10 dadurch eine 1 wird.
     
  9. 13. Januar 2011
    AW: Warum zur hölle kommt das raus?

    wir gehen aber von einem boolschen wert aus, denn wäre x vom typ "int" ginge nichtmal "!" in java.
     
  10. 13. Januar 2011
    AW: Warum zur hölle kommt das raus?

    sind keine hausuafgaben prüfungsvorbereitung

    naya ich gugg mal
     
  11. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.