Es gibt drei Verschiebungsoperatoren in Java
<< : : Der linke Verschiebungsoperator, num << 1, entspricht der Multiplikation von num mit 2
>> ; : Rechtsverschiebungsoperator, Zahl >> äquivalent zur Division von Zahl durch 2
>>> : Vorzeichenlose Verschiebung, ignoriere die leeren Bits mit 0
Sehen wir uns an, wie diese Schichtvorgänge verwendet werden
/** * */ package com.b510.test; /** * @author Jone Hongten * @create date:2013-11-2 * @version 1.0 */ public class Test { public static void main(String[] args) { int number = 10; //原始数二进制 printInfo(number); number = number << 1; //左移一位 printInfo(number); number = number >> 1; //右移一位 printInfo(number); } /** * 输出一个int的二进制数 * @param num */ private static void printInfo(int num){ System.out.println(Integer.toBinaryString(num)); } }
Das laufende Ergebnis ist:
1010 10100 1010
Lassen Sie uns die obigen Ergebnisse ausrichten:
位数 -------- 十进制:10 原始数 number 十进制:20 左移一位 number = number << 1; 十进制:10 右移一位 number = number >> 1;
Nachdem Sie die obige Demo gelesen haben, wissen Sie jetzt viel über Linksverschiebung und Rechtsverschiebung
Für: >>>
Vorzeichenlose Rechtsverschiebung, Das Vorzeichenbit ist ignoriert und die leeren Bits werden mit 0 gefüllt
value num – num gibt die Anzahl der Stellen an, um die der Wert verschoben werden soll.
Denken Sie nur an eines zu den Regeln der vorzeichenlosen Rechtsverschiebung: Ignorieren Sie die Vorzeichenbiterweiterung und füllen Sie das höchste Bit mit 0. Der vorzeichenlose Rechtsverschiebungsoperator>>> ist nur für 32-Bit und 64 von Bedeutung -Bit-Werte.
Weitere Shift-Operatoren in Java: <<,>>,>>> Um verwandte Artikel zusammenzufassen, beachten Sie bitte die chinesische PHP-Website!