Java: Unsigned Integer deklarieren
Frage von Gast | 05.08.2016 um 17:15
In allen Programmiersprachen, die ich kenne, kann man "unsigned integers", also vorzeichenlose Zahlenwerte deklarieren. Der Vorteil davon ist, dass man bei gleicher Bit-Länge größere (doppelt so große) Zahlen speichern kann, weil auf den negativen Zahlenbereich verzichtet wird (den man ja in vielen Fällen auch gar nicht benötigt).
Die Typen heißen dann für gewöhnlich uint, word oder in SQL auch unsigned int. Nun habe ich mich zum ersten Mal in meinem Leben mit Java auseinandergesetzt und konnte irgendwie keine unsigned-Typen entdecken. Kann mir jemand sagen, wonach ich da suchen soll? Wie heißen die Unsigned-Typen in Java beziehungsweise wie ist dort das Unsigned-Konzept umgesetzt?
Ähnliche Themen
MySQL: Integer Typen
Info | 0 Kommentare
Java: Größer/Kleiner-Vergleich von Strings - The operator > is undefined for the argument type(s) java.lang.String
Frage | 1 Antwort
MySQL: Was bedeutet Unsigned?
Frage | 1 Antwort
Delphi: Systemweiter HotKey
Tutorial | 3 Kommentare
Delphi/Lazarus: Nur Zahlen im Edit-Feld erlauben
Tipp | 0 Kommentare
Java: Integer aus String oder Default Integer als Result
Frage | 1 Antwort
Android Programmierung: Daten per HTTP POST Request senden
Tutorial | 0 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
Ich habe es auch erst kaum geglaubt, aber in Java gibt es keine Unsigned Typen. Du kannst dort nur die normalen Integer-Typen wie int (32 Bit), long (64 Bit), byte (8 Bit) oder short (16 Bit) verwenden, die alle signed sind.
Lediglich der Datentyp char (8-Bit, Wertebereich 0 bis 65535) ist in Java verfügbar, der quasi "unsigned" ist. Für größere Typen gibt es das leider nicht.
Allerdings gibt es ab Java 8 eine kleine Änderung. Zwar sind die Integer-Typen in Java 8 immer noch signed und es gibt auch keine Möglichkeit, einen Integer explizit als unsigned zu deklarieren, jedoch gibt es ein paar neue Methoden, die so designed sind, dass sie intern wie "unsigned Typen" umgehen können:
Dieses Beispiel hier zeigt, wie man diese neuen Methoden verwenden kann und wo ihre Grenzen liegen.
05.08.2016 um 17:54
Wenn es dir sehr wichtig ist, in Java unsigned Integers zu verwenden, kannst du auch eine externe Bibliothek wie beispielsweise Guava verwenden.
Diese Bibliothek enthält zum Beispiel die folgenden Klassen:
Die Klassen enthalten Funktionen wie .plus(), .minus(), .times(), .dividedBy() oder .mod() so dass du mit ihnen rechnen kannst.
Eine einführende Erklärung findest du zum Beispiel hier.
05.08.2016 um 19:20