移位运算符

本文介绍了Java中的移位运算符,包括左移(<<)、右移(>>)和逻辑右移(>>>),通过实例演示了它们在数值操作中的作用,特别关注了不同类型数据之间的转换和负数处理。
摘要由CSDN通过智能技术生成
移位运算符作用
<<左移运算符,用于将数据的二进制位向左移动,右边使用0补充
>>右移运算符,用于将数据的二进制位向右移动,左边使用符号位补充(留意负数和非负数)
>>>逻辑右移运算符,用于将数据的二进制位向右移动,左边使用0 补充(不考虑负数和非负数)
/**
* 编程实现移位运算符的使用
*/
public class MoveBitTest {
   public static void main(String[] args) {
       //1.声明一个byte类型的变量并初始化
       byte b1 = 13;
       //2.打印变量的值
       System.out.println("b1 = "+b1);//b1 = 13

       System.out.println("================");
       //3.移位运算符的使用    左移
       //13的二进制是:0000 1101 =>左移1位的结果是:0001 1010 =>十进制=>26
       //byte b2 = b1 << 1;//不兼容的类型: 从int转换到byte可能会有损失 自动提升为int类型。32位二进制
       byte b2 = (byte)(b1 << 1);
       System.out.println("b2 = "+b2);//26
       System.out.println(b1 << 1);//26    左移1位相当于当前整数的数值*2
       System.out.println(b1 << 2);//52    左移1位相当于当前整数的数值*4
       System.out.println(b1 << 3);//104   左移1位相当于当前整数的数值*8
       System.out.println(b1 << 4);//208   左移1位相当于当前整数的数值*16

       System.out.println("================");
       //3.移位运算符的使用    右移
       //13的二进制是:0000 1101 =>0000 0110=>6
       System.out.println(b1 >> 1);//6     左移1位相当于当前整数的数值/2
       System.out.println(b1 >> 2);//3    左移1位相当于当前整数的数值/4
       System.out.println(b1 >> 3);//1   左移1位相当于当前整数的数值/8

       System.out.println("================");
       //3.移位运算符的使用   对于非负数来说逻辑右移和右移一样
       System.out.println(b1 >>> 1);//6     左移1位相当于当前整数的数值/2
   }
}

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~忆缘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值