1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java如何使用移位运算符_JAVA移位运算符使用教程

java如何使用移位运算符_JAVA移位运算符使用教程

时间:2022-02-28 20:50:33

相关推荐

java如何使用移位运算符_JAVA移位运算符使用教程

位运算符用来对二进制位进行操作,分为左移位操作和右移位操作。

左移位运算符

●左移位运算的符号为<

●特点

◆是双目运算符。

◆操作元必须是整型类型的数据。

●左位移的过程

◆假设a是一个被移位的整型数据,n是位移量。

◆a<

◆比如:对整形数 8<<1的计算

8的二进制表示: 0000,0000,0000,0000,0000,0000,0000,1000

左移一位的结果:0000,0000,0000,0000,0000,0000,0001,0000

●注意

◆左位移操作是对整型数的操作,操作符两边必须是整型。

◆比整型更小的数据类型数据将被转换成整型进行运算,比整型更大的数据类型数据是不能进行移位运算的。

◆比整型更小的数据类型数据将被转换成整型时:对于正数将高位用0填充;负数将高位用1填充。

◆例:

byte a = -8;

System.out.println(a<<2);

结果:-32

1111,1111,1111,1111,1111,1111,1111,1000

1111,1111,1111,1111,1111,1111,1110,0000

◆在进行a<

★如果a是byte、short或int型数据,系统总是先计算出n%32的结果m,然后进行a<

★对于long型数据,系统总是先计算出n%64的结果m,然后进行a<

★比如:

对于int数 5<<1与5<<33的结果相等;

对于long数 5<<1与5<<65的结果相等。

右移位运算符

右移位运算的符号为>>,右移位运算符左面的操作元称作被移位数,右面的操作数称作移位量。

●特点

◆是双目运算符。

◆操作元必须是整型类型的数据。

●右位移的过程

◆假设a是一个被移位的整型数据,n是位移量。

◆a>>n运算的过程是通过将a的所有位都右移n位,每右移一个位,右边的最低位(即右边的第1位)上的0或1被移出丢弃,并用0或1填充左边的高位(a是正数时用0填充,负数时用1填充)。

◆比如:对整形数 8>>1的计算

8的二进制表示: 0000,0000,0000,0000,0000,0000,0000,1000

右移一位的结果:0000,0000,0000,0000,0000,0000,0000,0100

●注意

◆右位移操作是对整型数的操作,操作符两边必须是整型。

◆比整型更小的数据类型数据将被转换成整型进行运算,比整型更大的数据类型数据是不能进行移位运算的。

◆比整型更小的数据类型数据将被转换成整型时:对于正数将高位用0填充;负数将高位用1填充。

◆例:

byte a = -8;

System.out.println(a>>2);

结果:-2

1111,1111,1111,1111,1111,1111,1111,1000

1111,1111,1111,1111,1111,1111,1111,1110

◆在进行a>>n运算时

★如果a是byte、short或int型数据,系统总是先计算出n%32的结果m,然后进行a>>m运算。

★对于long型数据,系统总是先计算出n%64的结果m,然后进行a>>m运算。

★比如:

对于int数 5>>1与5>>33的结果相等;

对于long数 5>>1与5>>65的结果相等。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。