Heim > Java > JavaErste Schritte > Detaillierte Einführung in den Bytetyp in Java

Detaillierte Einführung in den Bytetyp in Java

青灯夜游
Freigeben: 2019-11-26 17:11:33
nach vorne
3988 Leute haben es durchsucht

Java bietet auch einen Byte-Datentyp, bei dem es sich um einen Basistyp handelt. Das Java-Byte wird als kleinste Zahl verarbeitet, daher ist sein Wertebereich als -128~127 definiert, was ein vorzeichenbehaftetes Byte ist. Der folgende Artikel führt Sie hauptsächlich in die relevanten Informationen zum Bytetyp in Java ein. Freunde, die es benötigen, können darauf zurückgreifen.

Detaillierte Einführung in den Bytetyp in Java

[Empfohlenes Lernen: Java-Video-Tutorial]

Einführung

Byte, das heißt Byte, besteht aus 8-Bit-Binärdaten. In Java sind Daten vom Bytetyp eine 8-Bit-Binärzahl mit Vorzeichen.

In Computern beträgt der Wertebereich von 8-Bit-Binärzahlen mit Vorzeichen [-128, 127], in Java beträgt der Wertebereich des Bytetyps also auch [-128, 127].

Wertebereichsanalyse

Ich habe mich gefragt, warum es nicht -128 bis 128 ist? Ich habe dieses Problem heute analysiert.

Zuerst müssen wir eines verstehen, nämlich die Operationsregeln:

Das höchste Bit einer positiven Zahl ist 0 und der Wert einer positiven Zahl ist der durch Binär dargestellte Wert.

Das höchste Bit einer negativen Zahl ist 1. Der Wert einer negativen Zahl wird invertiert, plus eins, und dann wird ein negatives Vorzeichen hinzugefügt, um den Wert zu erhalten.

Wir verwenden eine 8-Bit-Binärdatei, um diese Regel zu veranschaulichen:

Zum Beispiel: 00000001. Wenn das höchste Bit 0 ist, ist es eine positive Zahl, also stellt es dezimal 1 dar.

Ein weiteres Beispiel: 10000001. Das höchste Bit ist 1 und es ist eine negative Zahl. Was ist der Wert? Negieren Sie es, um 01111110 zu erhalten, und addieren Sie 1, um 01111111 zu erhalten. Dann ist der Wert -127

Nachdem wir diese Operationsregel verstanden haben, sprechen wir offiziell über Byte, bei dem es sich genau um eine 8-Bit-Binärzahl handelt. short ist 16 Bit, int ist 32 Bit, long ist 64 Bit.

Es ist nicht schwer zu verstehen, dass die maximale positive Anzahl von Bytes 01111111 beträgt (das höchste Bit muss 0 sein), also 127.

Dann denken Sie vielleicht, dass die kleinste negative Bytezahl 11111111 ist, oder? So zu denken ist

ein großer Fehler. Mal sehen, was die Binärzahl 11111111 darstellt.

Laut obigem Tipp wissen wir, dass es sich hierbei um eine negative Zahl handelt. Sein Wert wird zuerst negiert und dann 1 hinzugefügt.

11111111 wird invertiert, um zu erhalten: 00000000, addieren Sie 1, um 00000001 zu erhalten. Der erhaltene Endwert ist -1.

Dies ist die größte negative Zahl. Haben Sie jemals gedacht, dass die kleinste negative Zahl 10.000.000 wäre?

Lassen Sie uns rechnen und negieren: 01111111, addieren Sie 1, um 10000000 zu erhalten, und erhalten Sie schließlich -128.

127 ist 01111111, aber -128 ist 10000000, und wir sehen etwas Seltsames.

Schauen Sie sich diese beiden Binärzahlen genau an. Erhalten Sie die letztere, indem Sie 1 zur ersteren addieren? Rechts.

Sie können zum Experimentieren ein kleines Programm schreiben:

byte a = 127; 
a+=1; 
System.out.println(a);
Nach dem Login kopieren

Das Ergebnis ist genau -128

Daran können wir erkennen, dass die Binärzahl von 00000000 über 01111111 bis 10000000 reicht bis 11111111

Das heißt, die Dezimalzahl reicht von 0 bis 127 bis -128 bis -1.

Als nächstes verwenden wir einen Code, um Byte besser zu verstehen:

public class A {
 public static void main(String[] args) {
  int b = 456;
  byte test = (byte) b;
  System.out.println(test);
 }
}
Nach dem Login kopieren

Der obige Code gibt schließlich -56 aus. Der Grund ist wie folgt:

Die binäre Darstellung von 456 ist 111001000. Da int eine 32-Bit-Binärdatei ist, ist es im Computer tatsächlich 00000000000...111001000 Der Computer speichert nur die letzten 8 Ziffern: 11001000.

Dann ist das höchste Bit von 11001000 1, was bedeutet, dass es eine negative Zahl ist, und negative Zahlen werden in Computern im Zweierkomplementformat gespeichert, sodass wir berechnen, dass der ursprüngliche Code von 11001000 00111000 ist, also 56 , also 11001000 Es stellt -56 dar, sodass der endgültige Testwert -56 ist.

Dieser Artikel stammt aus der Rubrik Java-Einführung, willkommen zum Lernen!

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in den Bytetyp in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage