Java-左移右移-jdk8

移位有三种

<< 左移,左边补0

>> 右移,正数左边补0,负数补1

>>> 右移, 正数,负数统一左边补0

来看几个奇葩的代码

public static void main(String[] args)
{
//int min val
System.out.println( << );
System.out.println( << ); System.out.println(1L << );
System.out.println(1L << ); }

输出如下

-

-

由此可见,java内移位是这样的

k << p 等价于  k << (p%k.bits)

下面是c++的

int main()
{
//srand((unsigned) time(NULL)); //int min val
cout<<(<< )<<endl;
//
cout<<(<< ) <<endl;
return ;
}

对于c++,1 << 32是0.

上一篇:*来袭 vJine.Core Orm 之 02_代码生成


下一篇:Daily Scrum - 11/30