位运算符

位运算符

java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。位运算符作用在所有位上,并且按位运算。

A = 0011 1100
B = 0000 1101
-----------------
A&B = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
~A = 1100 0011

位运算符

右移一位相当于除2取商。

左移一位相当于乘2.

【常见面试题:int a = 2*8怎样运算效率最快?】

解析:

  public static void main(String[] args) {
        System.out.println(2<<3);
    }

2的二进制是10在32位存储器里面是0000 0000 0000 0010

左移3位后变成0000 0000 0001 0000也就是16。

在系统中运算是以二进制的形式进行的。相比来说两个二进制数相乘运算比移位运算慢一些。

在现代架构中,位运算速度通常与加法运算相同,但任然快于乘法运算。

posted @ 2021-01-16 10:58  程序小宅  阅读(55)  评论(0)    收藏  举报