位反转
在讲位反转之前,我们知道,java有8大基础类型,分别是 :byte short int long float double char boolean;那他们分别占多少位呢?
1位=8字节 也就是 0000 0000
byte:1位
short:2位
int:4
long 8
float:4
double:8
char:16
Integer有两个静态的方法:
第一个是按位反转,第二个是按字节反转
关于左移和右移
1)左移: 操作运算符为:<<,向左移动,右边的低位补0,高位的舍弃,将二进制看做整数,左移相当于*2
2) 无符号右移: 操作运算符为:>>>,向右移动,右边的舍弃,左边的补零
3)有符号右移:操作运算符为:>>,向右移动,右边的舍弃,左边看最高位是什么,是1就补1,是0就补0。将二进制数看作整数,右移一位相当于除以2
以上来自内容来自《Java编程的逻辑》,记录一下是为了以后能更快的捡起来,这个算法思想太秒了