Heim  >  Artikel  >  Java  >  Java-Linksverschiebung und Rechtsverschiebung

Java-Linksverschiebung und Rechtsverschiebung

伊谢尔伦
伊谢尔伦Original
2016-11-30 09:40:101759Durchsuche

Heute habe ich Java-Linksverschiebung und Rechtsverschiebung überprüft:

Positive und negative Zahlen werden in Java in Form eines Zweierkomplementcodes ausgedrückt

Zum Beispiel -2 in Die Computerdarstellung ist 11111111 11111111 11111110

1. Linksverschiebung

-2<<2, also das Ergebnis von -2 Linksverschiebung um 2 Bits sind: 11111111 11111111 111 11111 11111000 (Untere Bits sind mit 0 gefüllt)

Das höchste Bit ist 1, was angibt, dass es sich um eine negative Zahl handelt ist der ursprüngliche Code der positiven Zahl: „Das höchste Bit ist 1, und die restlichen Bits sind invertiert. Fügen Sie am Ende 1 hinzu, um es zu erhalten.“

Durch Invertieren können Sie also erkennen, dass das Ergebnis von -2<<2 tatsächlich die Zahl 10000000 00000000 00000000 00001000 (-8) darstellt

2. Verschiebung richtig

Wenn das High-Bit 1 ist, addiere 1, wenn das High-Bit 0 ist, addiere 0 00000000 00000000 00000001 (- 1)

3 Der Schiebeoperator kann mit „=" kombiniert werden, um

a<<=2 zu verwenden, um den um 2 Bits nach links verschobenen Wert von a darzustellen. Zuweisen zu a

4 . Hinzugefügt: Die Java Virtual Machine schirmt das Problem von Big Endian und Little Endian ab, und intern ist alles Little Endian.

Stellungnahme:
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