×

移位运算符 移位运算

移位运算符的介绍?java中有

admin admin 发表于2022-05-06 07:53:32 浏览116 评论0

抢沙发发表评论

移位运算符的介绍

移位运算符就是在二进制的基础上对数字进行平移。按照平移的方向和填充数字的规则分为三种:《《(左移)、》》(带符号右移)和》》》(无符号右移)。

java中有<<<这个运算符吗

 移位运算符

    左移位运算符(《《):能将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补0)

    右移位运算符(》》)

    Java也添加了一种“无符号”右移位运算符(》》》),它使用了“零扩展”:无论正负,都在高位插入0。

public class Test {  public static void main(String args) {    int i = -1;    i 》》》= 10;    System.out.println(i);    long l = -1;    l 》》》= 10;    System.out.println(l);    short s = -1;    s 》》》= 10;    System.out.println(s);    byte b = -1;    b 》》》= 10;    System.out.println(b);  }}-移位运算

结果:

    

C语言移位运算符怎么用

右移对符号位的处理和左移不同,对于有符号整数来说,比如int类型,右移会保持符号位不变,例如:10100110》》5(假设字长为8位),则得到的是11111101。总之,在c中,左移是逻辑/算术左移(两者完全相同),右移是算术右移,会保持符号位不变.实际应用中可以根据情况用左/右移做快速的乘/除运算,这样会比循环效率高很多.所以,shorta=0xf245,即a=1111001001000101,经过右移后,b=a》》8;b=1111111111110010,即b=0xfff2。注意是有符号右移为算术右移!!!