Java中>、>>、>>>三者有什么区别呢?

戚薇 Java经验 发布时间:2023-04-16 17:16:36 阅读数:11094 1
下文笔者讲述java中>、>>、>>>三个运算符之间的区别说明,如下诉讼hi

三者功能说明

大于号

 “>”:
   大于
其功能:
   用于大小比较
   if(a>b)…结果是boolean类型

两个大于号

">>:
    在java中用于表示右移
     <<(左移)和>>(右移)

左移运算:
   将一个二进制位的操作数按指定移动的位数向左移位,移出位被丢弃,右边的空位一律补0
右移运算:
   将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位或者一律补0,或补符号位
   由不同的机器而定
在使用补码作为机器数的机器中,正数的符号位为0,负数的符号位为1,
具体的实现思路:
   1.将数据转换为二进制
   2.右移几位就去掉右边的几位数,左移几位就在右边加几个0
   3.如:
      14右移2位就是转成二进制变成1110,去掉右边的10,变成11,11转成十进制就是3
        左移2位就是111000,转成十进制就是56
例:
 int i=15; 
    i>>2的结果是3,移出的部分将被抛弃。
    转为二进制的形式可能更好理解
    0000 1111(15)右移2位的结果是0000 0011(3)
    0001 1010(18)右移位的结果是0000 0011(3)。
 

三个大于号

”>>>":
     无符号右移
     叫逻辑右移
     即若该数为正,则高位补0
	 当该数为负数,则右移后高位同样补0。
例:
 res = 20 >> 2;
  20的二进制为 0001 0100
  右移2位后为 0000 0101
  则 res =5;

 res = -20 >> 2;
   -20的二进制为 1110 1011,右移2位,此时高位补0
     即 0011 1010,结果为 res = -5;
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202304/16816366626255.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者