Negatives Quadrat bei hohen Basen

Java-Freak

Bekanntes Mitglied
Hallo,

ich habe ein kleines Problemchen mit dem Quadrieren von hohen Zahlen in Java. Es ist wohl kaum nötig den Programmcode zu posten, er besteht einfach nur aus einer Schleife bis 100000, die jeweils das Quadrat der Zahl ausgibt. Ab ~47000 zum Quadrat gibt Java mir allerdings negative Zahlen aus - da stimmt irgendwas nicht. Ein Beispiel:
Java:
System.out.println(47327*47327); // liefert -2055122367, richtig wäre 2239844929
Woran liegt das ?
Danke schonmal ! :)
 
T

tröööt

Gast
WERTEBEREICHE !

INT : -2^31 (-2147483648) bis 2^31-1 (2147483647)
LONG : -2^63 (-9223372036854775808) bis 2^63-1 (9223372036854775807)

für NOCH größere zahlen BigInteger und BigDecimal nutzen
 
N

nillehammer

Gast
Das ist ein sog. Overflow. D.h. die Zahlen verlassen den Bereich, der durch den Datentyp noch darstellbar ist. Dass da was Negatives rauskommt, liegt an der Zweierkomplement-Repräsentation von negativen Zahlen (grob gesagt: Wenn das erste Bit 1 ist, ist die Zahl negativ). Probiers mal so:
Java:
System.out.println((long)47327*47327);
// oder
System.out.println(47327*47327L);
 
T

tröööt

Gast
naja ... nur sind die WERTEBEREICHE der PRIMITIVES absolutes grundlagen-basis-wissen ... das man drauf haben sollte ... von daher verstehe ich alleine die frage nicht
 
N

nillehammer

Gast
[OT]Na trööt, hast heute mal wieder einen Nervtag, an dem du Antworten umgeschrieben nochmal postest und Leute belehrst?[/OT]
 
T

tröööt

Gast
nö ... und ich hab auch nichts umgeschrieben ... zumindest nicht meinen eigenen post ... sondern von mir aus nur noch mal drauf hingewiesen das die wertebereiche nunmal basiswissen der informatik sind ... wenn 4 leute gleichzeitig auf "antworten" klicken und der server so schnell nicht mehr hinterher kommt um jedem den text : "anderer user war schneller" anzuzeigen ... und sich somit sinnmäßig duplikate ergeben kann ich das ja wohl SEHR schelcht beeinflussen ...
 
N

nillehammer

Gast
[OT]Das war ja heute nicht Deine einzige Antwort. Oder benutzen diverse Leute das Pseudonym? Hier war es "nur" die Belehrung.[/OT]
 
T

tröööt

Gast
[spiler="OT"]wenn wir uns schon so offtop unterhalten würde ich dich ebenfalls bitten spoiler-tags zu nutzen ... und wenn du schon auf etwas abzielst was nicht mit diesem thread hier zu tun hat ... dann poste es wenigstens im betreffenden thread ... oder weis drauf hin welchen du meinst ...[/spoiler]
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Variablen Negatives Ergebnis bei Multiplikation von großen Zahlen Java Basics - Anfänger-Themen 2
O Input/Output Ein (negatives) Byte über PrintWriter hinausschreiben Java Basics - Anfänger-Themen 3
Ü Methode soll Quadrat aus der Summer zurückgeben Java Basics - Anfänger-Themen 10
MaZ Quadrat Schleife(Pyramide) Java Basics - Anfänger-Themen 9
xXDasFischXx quadrat Java Basics - Anfänger-Themen 1
F Quadrat Mit Muster Java Basics - Anfänger-Themen 15
J Quadrat mit Diagonalen Java Basics - Anfänger-Themen 3
J Einfaches Quadrat auf der Console ausgeben lassen Java Basics - Anfänger-Themen 7
K Erste Schritte Nenner zum Quadrat Java Basics - Anfänger-Themen 10
M Quadrat zeichnen einfach bitte! Java Basics - Anfänger-Themen 2
C Input/Output Magisches Quadrat Rechts Formatieren Java Basics - Anfänger-Themen 4
S math Methoden in Java (quadrat) Java Basics - Anfänger-Themen 7
F Das magische Quadrat Java Basics - Anfänger-Themen 8
L Magisches Quadrat und Backtracking Java Basics - Anfänger-Themen 19
S Magisches Quadrat Java Basics - Anfänger-Themen 9
F Rechteck/Quadrat getroffen? Java Basics - Anfänger-Themen 2
K Rechteck/Quadrat Java Basics - Anfänger-Themen 5
P Quadrat und Wurzel HILFE!!!!! Java Basics - Anfänger-Themen 13
T Quadrat mit Array?? Java Basics - Anfänger-Themen 9
G Quadrat in Java Java Basics - Anfänger-Themen 9
J Quadrat mit variabler Kantenlänge Java Basics - Anfänger-Themen 3
G Quadrat mit Diagonalen ausgeben Java Basics - Anfänger-Themen 4
K Farbenspiel : Quadrat verschwindet,wenn Fenster inaktiv ist Java Basics - Anfänger-Themen 13
E Magisches Quadrat - wie bring ich des fertig? Java Basics - Anfänger-Themen 2
M Addition mit hohen Zahlen - Hilfe Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben