if-Anweisung funktioniert nicht

Status
Nicht offen für weitere Antworten.

specktakeles

Mitglied
nicht mal diese anweisung bekomme ich zum laufen, eigentlich wollte ich herausfinden was passiert wenn ich a & b = 15 mache, weil ich den & operator noch nicht verstehe. da dies natürlich nicht funktionierte, probierte ich es mit a + b = 15 aus.




Code:
public class UND 
{

	public static void main(String[] args) 
	{
	int a = 2;
	int b = 4;
	if (a + b = 15)
	    {
	      System.out.println("a und b = 15");
	    } else 
	    {
	      System.out.println("a und b = " + a+b);
	    }
	
	}
}

eigentlich wollte ich dieses programm mit dem & operator verstehen:

Code:
public class IF
{
  public static void main(String[] args)
  {
    int i = 55;
    int j = 97;
    if ((i & 15) < (j & 15)) { 
      System.out.println("LowByte(55) < LowByte(97)");
    } else {
      System.out.println("LowByte(55) >= LowByte(97)");
    }
  }
}
 
ok, super mit == gehts dann. merci euch

aber wieso kommt hier als ergebnis: LowByte(55) >= LowByte(97)

Code:
public class If
{
  public static void main(String[] args)
  {
    int i = 55;
    int j = 97;
    if ((i & 15) < (j & 15)) { 
      System.out.println("LowByte(55) < LowByte(97)");
    } else {
      System.out.println("LowByte(55) >= LowByte(97)");
    }
  }
}

i wird doch 55 zugewiesen und j 97,
was passiert in der klammer (i & 15), wohl kaum 55 + 15 = 70.
 
& ist das Bitweise AND:

55 & 15 = 110111 & 001111

anders geschrieben:
110111
&
001111
--------
000111 = 7

(hoffe mal das stimmt)
 
Beni hat gesagt.:
& ist das Bitweise AND:

55 & 15 = 110111 & 001111

anders geschrieben:
110111
&
001111
--------
000111 = 7

(hoffe mal das stimmt)
was hast du denn immer Angst was falsches zu schreiben :wink: stimmt schon :!:
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben