移位运算

来源:互联网 发布:hibernate怎么修改数据 编辑:程序博客网 时间:2024/06/06 03:02

import java.util.Scanner;

public class 位运算 {

public static void main(String[] args) {    /*位移运算     *      */    Scanner sc=new Scanner(System.in);    while(true){    int n=sc.nextInt();    System.out.println("原始二进制数--------------"+Integer.toBinaryString(n)+"****十进制"+n);    //<<左移    int m=n<<4;    System.out.println("左移四位------------------"+Integer.toBinaryString(m)+"****十进制"+m);    //<<右移    int q=n>>4;    System.out.println("右移四位------------------"+Integer.toBinaryString(q)+"****十进制"+q);    //<<无符号移    int w=n>>>4;    System.out.println("无符号右移四位------------"+Integer.toBinaryString(w)+"****十进制"+w);}}

}
结果:
1
原始二进制数————–1****十进制1
左移四位——————10000****十进制16
右移四位——————0****十进制0
无符号右移四位————0****十进制0
-1
原始二进制数————–11111111111111111111111111111111****十进制-1
左移四位——————11111111111111111111111111110000****十进制-16
右移四位——————11111111111111111111111111111111****十进制-1
无符号右移四位————1111111111111111111111111111****十进制268435455
100
原始二进制数————–1100100****十进制100
左移四位——————11001000000****十进制1600
右移四位——————110****十进制6
无符号右移四位————110****十进制6
-100
原始二进制数————–11111111111111111111111110011100****十进制-100
左移四位——————11111111111111111111100111000000****十进制-1600
右移四位——————11111111111111111111111111111001****十进制-7
无符号右移四位————1111111111111111111111111001****十进制268435449

原创粉丝点击