2 qq 23473123 qq_23473123 于 2017.01.06 14:17 提问

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

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

2个回答

ai977313677
ai977313677   2017.01.06 14:25
已采纳

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

qq_23473123
qq_23473123 回复企鹅爱吃方便面: 好的我知道了,|位运算符
11 个月之前 回复
ai977313677
ai977313677 因为int是整数类型,所以最后得到的二进制数会转成十进制输出。 你回复的什么?只能看到空白。
11 个月之前 回复
qq_23473123
qq_23473123 <<20相当于乘以2的10次方,这个我知道。或运算怎么算啊,得到的是int类型的啊
11 个月之前 回复
Zhanjr
Zhanjr   2017.01.06 14:57

2115994624

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

图片说明

Csdn user default icon
上传中...
上传图片
插入图片