标签:移位操作 基础 blog int java基础 进制 highlight code str
想记录一下java基础知识,以后如果遇到比较杂的问题,也一并追加到这里,不再另外新开博客
1.移位操作(<< 、>>)
public static void main(String[] args) { int a = 8; // 8<<3 --> 8 * (2的3次方) System.out.println("8<<3----->"+(8<<3)); // 8>>3 --> 8 / (2的3次方) System.out.println("8>>3----->"+(8>>3)); }
8<<3----->64 8>>3----->1
移位运算在计算机中的运行是最快的
以11为例
11对应的二进制是 1011
11<<3 向右移动3位 得到 1011 000 -->十进制 88 【11*(2的3次方)】
11>>3 向左移动3位 得到 1 -->十进制 1 【11/(2的3次方)】
贴上代码验证一下
public static void main(String[] args) { int a = 11; System.out.println(Integer.toBinaryString(a)); System.out.println(Integer.toBinaryString(a<<3) +"十进制:"+(a<<3)); System.out.println(Integer.toBinaryString(a>>3) +"十进制:"+(a>>3)); }
1011 1011000十进制:88 1十进制:1
2.位非运算符(~)
public static void main(String[] args) { int a = -9; int b = 9; int c = 0; // ~a --> (-a - 1) System.out.println("~a ---->"+(~a)); System.out.println("~b ---->"+(~b)); System.out.println("~c ---->"+(~c)); }
~a ---->8 ~b ---->-10 ~c ---->-1
标签:移位操作 基础 blog int java基础 进制 highlight code str
原文地址:http://www.cnblogs.com/sunshine798798/p/7727274.html