Aritmethische Operationen

Status
Nicht offen für weitere Antworten.

ven000m

Bekanntes Mitglied
Hallo,

kann mir mal einer sagen, wieso da 1 rauskommt:

Code:
  int a=01;  
		int b=11;
		
		System.out.println(b&a);

Also, hab nicht wirklich plan wieso, vergleicht der

01
11
---
01 > also 1 ausgeben und 0 abschneiden?


bzw. hier
Code:
	                int a=13;  
		int b=10;
		
		System.out.println(b&a);


Wieso kommt da 8 raus?
 

Icewind

Bekanntes Mitglied
weil ein & der AND operator ist...
er verleicht die zwei zahlen binär...
also 1 und 11 (1011) und da kommt eben 1 raus wenn du sie per AND vergleichst...
 

lin

Top Contributor
zahl&zahl : das & ist ein bitweises AND, guck mal hier
Steht ein bisschen weiter unten erklärt, was es ist: unter The Bitwise AND Function
 

ven000m

Bekanntes Mitglied
Hallo,

mhm danke, dass wäre ja noch trivial, doch guckt mal jetzt:

Code:
int a=1110;  
		int b=1010;
		
		System.out.println(b|a);		 // Bitmuster nach &:1010= 82		
		/*System.out.println(!(b>a));
		System.out.println((b>a));
		System.out.println((b|a));	*/
		
		//Bits8421    
		int c=1110;
		int d=0101;
		
		System.out.println(c|d); //

Ausgabe ist:
2038
1111

Warum rechnet der das zusammen obwohl ich beim zweiten das Bitmuster angezeigt bekomme? (d.h. die zweite Ausgabe kann ich nachvollziehen)

Danke
 

lin

Top Contributor
das erste a = 1110 fasst der compiler als Zahl im Dezimalen System auf, wandelt sie in binär um: 10001010110
entsprechend b: 1111110010
a|b
10001010110 | 1111110010 ergibt
11111110110
Dieser Binäre Wert wieder in einen Dezimalen Wert umgewandelt ergibt 2038! So einfach ist dat ;)
 
R

Roar

Gast
ähm, dir is schon klar, dass in ints dezimalzahlen gespeichert werden ?
wenn du sagst int a = 1110 ist das kein binäres 1110 sondern 10001010110.
und 10001010110
or 01111110010
ist 11111110110 = 2038

und beim zweiten bekomsmt du auch nicht das bitmuster angezeigt. es ist lediglich zufall. eigentlich müsste da was anderes rauskommen, aber du da intelligenterweise eine 0 vor deiner zahl hast wird die weder binär noch dezimal sondern oktal interpretiert. ich glaub du schmeißt da was mit den zahlensystemen durcheionander ;)
 

ven000m

Bekanntes Mitglied
Hallo,

erstmal recht herzlichen Dank.

Wauo das sprengte doch meinen Horizont. Also okay int nimmt also immer Dezimale Zahlen auf und der "AND" (&) Operator wandelt die jeweiligen Zahlen in Binärzahlen umd und vergleicht die Bitmuster, dass Ergebnisbitmuster wird dann wieder als dezimale Zahl ausgegeben.

Ist das so richtig?

Gruß
 

lin

Top Contributor
wenn du eine Zahl Hexadezimal eingeben willst, setzt du 0x vordran,
Code:
int a = 0xA;
Bei oktal wie Roar schon erwähnt hat ne 0,
und wenn du ne Zahl binär ausgeben willst versuch mal
Code:
System.out.println(Integer.toBinaryString(300));
EDIT: jep, ist richtig so
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Frage zu arithmetischen Operationen Java Basics - Anfänger-Themen 20
J Listen Operationen Java Basics - Anfänger-Themen 4
D Algorithmus in Pseudocode mit log2(n) Operationen erstellen Java Basics - Anfänger-Themen 3
Hacer Operationen einfach verketteter Listen Java Basics - Anfänger-Themen 22
S Warum muss ich die operationen mit AffineTransform in umgekehrter Reihenfolge ausfuehren..? Java Basics - Anfänger-Themen 4
B Matrizen Operationen Java Basics - Anfänger-Themen 7
S NaN - Operationen ohne Fehler? Java Basics - Anfänger-Themen 3
B AffineTransform - Reihenfolge der Operationen Java Basics - Anfänger-Themen 3
G Messen von Elementaren Operationen Java Basics - Anfänger-Themen 3
S Liste von möglichen Operationen Java Basics - Anfänger-Themen 2
B genaue Anzahl der Operationen in Schleifen Java Basics - Anfänger-Themen 5
C Operationen auf Bitebene und Verschiebeoperatoren wichtig? Java Basics - Anfänger-Themen 26
Haave Postfix-Rechner: mehrere math. Operationen nacheinander ausführen Java Basics - Anfänger-Themen 8
M Bit/Byte Operationen Java Java Basics - Anfänger-Themen 8
B math. Operationen + Ausgabe Fehler :S Java Basics - Anfänger-Themen 5
K println - Klammern von Operationen Java Basics - Anfänger-Themen 4
O Operationen auf ein Set Java Basics - Anfänger-Themen 3
Q mathematische Operationen als Methode und nicht Infix-Operator Java Basics - Anfänger-Themen 14
X Zählen von arithmetischen Operationen und Vergleichsoperationen Java Basics - Anfänger-Themen 7
R Kommandozeile Operationen Java Basics - Anfänger-Themen 3
G Strings Operationen Java Basics - Anfänger-Themen 7
G String-Operationen Java Basics - Anfänger-Themen 6
F Operationen mit Zeichenketten Java Basics - Anfänger-Themen 8
S Stack-Operationen Java Basics - Anfänger-Themen 59

Ähnliche Java Themen

Neue Themen


Oben