四个都是移位运算符,不是10进制的移位,是转换为2进制的移位
1、m<
十进制m1=9876;m2=-9876;
m1<<3::::::m1=9876=0000 0000 0000 0000 0010 0110 1001 0100------------->左移三位:0000 0000 0000 0001 0011 0100 1010 0000------>79,008:::::::::::::::::::::::::::9876*(2^3)=79008
m2<<3::::::m2=-9876=1111 1111 1111 1111 1101 1001 0110 1100------------->左移三位:1111 1111 1110 1100 1011 0110 0000------>-79,008:::::::::::::::::::::::::::-9876*(2^3)=-79008
m<
2、m>>n:m右移n位,也就是m转化成二进制,里面的数字右移n位
m<
3、m<<
符号即正负符号,一般正数空位为加0,负数空位为加1;不计符号也就是都以正数对待,因此对正数没有影响,和m<
负数需要计算2进制,移动得到新的二进制数字后,再计算得到10进制数字结果
3、m>>>n:m不计符号右移n位,也就是m转化成二进制,里面的数字右移n位
原理同m<<
负数需要计算2进制,移动得到新的二进制数字后,再计算得到10进制数字结果