package io.renren.utils;
public class Test {
public static void main(String[] args) {
Integer a1=1;
Integer b1=1;
// 左位移
System.out.println(3<<1); // 6 (4乘2的1次方)
System.out.println(3<<2); // 12 (4乘2的2次方)
System.out.println(3<<3); // 24 (4乘2的3次方)
System.out.println(-2<<1); // -4 (-2乘2的1次方)
System.out.println(-2<<2); // -8 (-2乘2的1次方)
System.out.println("***********************");
// 右位移
System.out.println(6>>1); // 3 (6除2的1次方)
System.out.println(6>>2); // 1 (6除2的2次方) 如果不能整除就为1
System.out.println(6>>3); // 0 (6除2的3次方) 如果被除数大于除数值为0
System.out.println(-2>>1); // -1 (负数不管右移几位值都为-1)
System.out.println("***********************");
int i1 = 10; // 00001010
int i = -10; // 11110110
// 负数的值为将整数的值先反码,反过来就是:11110101 如果最后一位书为1 补码到第一个0结束
int y1 = 20; // 10100
int y = -20; // 11101100
// 负数的值为将整数的值先反码,反过来就是:11110101 如果最后一位书为1 补码到第一个0结束
int s1 = 5; // 101
int s = -5; // 11111011
// 负数的值为将整数的值先反码,反过来就是:11101011 如果最后一位为0 补码后一位
/**
二进制转十进制 如二进制的值为(正数): 100011 次方的数值是从右往左,以0位起始值
1乘2的5次方 32
0乘2的4次方 0
0乘2的3次方 0
0乘2的2次方 0
1乘2的1次方 2
0乘2的5次方 1
十进制的值 也就是 32+0+0+0+2+1=35
**/
}
}
整数转为二进制方法,如下图
java 整数转二进制转十进制以及运算符左位移,右位移 运算方法
最新推荐文章于 2023-06-08 16:12:46 发布