int i=(2017<<20)|(2017<<10) i等于多少

int i=(2017<<20)|(2017<<10) i等于多少,结果是2115994624,不知道是不是和|有关,算不出来

那两个小于是左移运算符,竖杠是或运算符,程序的意思是,先把两个十进制的数改成二进制数,再左移,再对两个数取或运算。

2115994624

    public static void main(String[] args) {
        int i = (2017<<20)|(2017<<10) ;
        System.out.println(i);
    }

图片说明