不用*用移位运算符计算21*16的数值是多少

时间:2023-01-11 15:57:39

package com.chongrui.test;
/*
* 不用*用移位运算符计算21*16的数值是多少
* java中有三种移位运算符

<< : 左移运算符,num << 1,相当于num乘以2

>> : 右移运算符,num >> 1,相当于num除以2

>>> : 无符号右移,忽略符号位,空位都以0补齐
*
* */

public class TypeConvertion {

public static void main(String[] args){

int number = 21;
int number2 = 16;
printInfo(number);
number = number<<4;//代表2为基数,所以只能乘以4,左移代表乘的意思
System.out.println("21*16的计算结果是"+number);
printInfo(number);
System.out.println("21*16的计算结果是"+number);
number = number>>8;
printInfo(number);
System.out.println("21*16的计算结果是"+number);
}
private static void printInfo(int num){

System.out.println(Integer.toBinaryString(num));
//java.lang.Integer.toBinaryString()方法用法实例教程 - 此方法返回值参数表示的无符号整数的二进制的字符串表示形式(基数为2)


}

}