|NO.Z.00046|——————————|BigDataEnd|——|Java&运算符.V13|——|Java.v13|运算符.v13|移位运算符|编程|

一、[移位运算符概念使用]——了解
### --- 移位运算符概念

~~~     ——>    <<         左移运算符,用于将数据的二进制位向左移动,右边使用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    左移2位相当于当前整数的数值*4
        
        System.out.println("---------------------------------------------------");
        // 13的二进制是:... 0000 1101 => 右移1位的结果是:... 0000 0110 => 换算为十进制整数是:6
        System.out.println(b1 >> 1); // 6     右移1位相当于当前整数的数值/2
        System.out.println(b1 >> 2); // 3     右移2位相当于当前整数的数值/4
        
        System.out.println("---------------------------------------------------");
        // 逻辑右移   对于非负数来说,逻辑右移和右移的效果一致
        System.out.println(b1 >>> 2); // 3  
    }
}
三、编译打印
### --- 编译

C:\Users\Administrator\Desktop\project>javac MoveBitTest.java
### --- 打印输出

C:\Users\Administrator\Desktop\project>java MoveBitTest
b1 = 13
---------------------------------------------------
b2 = 26
26
52
---------------------------------------------------
6
3
---------------------------------------------------
3

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(28)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示