package com.isannian;
import java.util.Scanner;
//import java.util.Scanner;
public class BitTest {
public static void main(String[] args) {
BitTest bit =new BitTest();
Scanner s =new Scanner(System.in);
System.out.println("输入一个65536以内的十进制数:");
int a =s.nextInt();
//s.close();
int n=0;
if(a<256)
n=8;
else if(a>=256&&a<65536)
n=16;
int[] b =new int[n];
System.out.println("移位前 二进制 为:");
bit.BitMove(b,a);
System.out.println();
System.out.println("要移位的位数: ");
int c = s.nextInt();
s.close();
int[] m =new int[n];
int[] z =new int[n];
int x =a>>c;
int y =a<<c;
System.out.print("右移:");
bit.BitMove(m, x);
System.out.println("a>>"+c+"="+x);
System.out.print("左移:");
bit.BitMove(z, y);
System.out.println("a<<"+c+"="+y);
}
public void BitMove(int[] b, int a)
{
for(int i =0;i<b.length;i++)
{
b[i]=a%2;
a=a/2;
}
for(int k=b.length-1;k>=0;k--)
{
System.out.print(b[k]);
}
System.out.println();
}
}
BitMove(不完善)位移在计算机中的表示
最新推荐文章于 2021-08-04 04:13:17 发布