• 技术文章 >java >java基础

    位运算符如何在java中转换进制?

    小妮浅浅小妮浅浅2020-12-28 14:10:41原创2315

    在对于进制的变换上,每一个位运算符的操作代码都是不同的。进制之间的转换问题一直困扰着新学的小伙伴们,那么本篇带来的位运算符大家可一定不要错过。针对不同的位运算符,这里给出勒对应的代码解决方法。下面我们就来一起看看如何转换进制的吧。

    1.左移运算符:<<

    int intValue = 733183670;//随意写一个数	
    System.out.println("intValue:" + (intValue));//打印intValue
    System.out.println("intValue左移1位:" + (intValue << 1));//左移1位
    System.out.println("intValue左移8位:" + (intValue << 8));//左移8位
    //当int类型左移位数大于等于32位操作时,会先求余后再进行移位操作
    System.out.println("intValue左移32位:" + (intValue << 32));//求余为32%32=0,相当于左移0位(不移位)
    System.out.println("intValue左移40位:" + (intValue << 40));//求余为40%32=8,相当于左移8位
    System.out.println("intValue左移64位:" + (intValue << 64));//求余为64%32=0,相当于左移0位(不移位)
    	
    long longValue = 733183670L;
    System.out.println("longValue:" + (longValue));//打印longValue
    System.out.println("longValue左移1位:" + (longValue << 1));//左移1位
    System.out.println("longValue左移8位:" + (longValue << 8));//左移8位
    //当long类型左移位数大于等于64位操作时,会先求余后再进行移位操作
    System.out.println("longValue左移64位:" + (longValue << 64));//求余为64%64=0,相当于左移0位(不移位)
    System.out.println("longValue左移72位:" + (longValue << 72));//求余为72%64=8,相当于左移8位
    System.out.println("longValue左移128位:" + (longValue << 128));//求余为128%64=0,相当于左移0位(不移位)

    2.右移运算符:>>

    int intValue = 733183670;//随意写一个数
    System.out.println("intValue:" + (intValue));//打印intValue
    System.out.println("intValue右移1位:" + (intValue >> 1));//右移1位
    System.out.println("intValue右移8位:" + (intValue >> 8));//右移8位
    //当int类型右移位数大于等于32位操作时,会先求余后再进行移位操作
    System.out.println("intValue右移32位:" + (intValue >> 32));//求余为32%32=0,相当于右移0位(不移位)
    System.out.println("intValue右移40位:" + (intValue >> 40));//求余为40%32=8,相当于右移8位
    System.out.println("intValue右移64位:" + (intValue >> 64));//求余为64%32=0,相当于右移0位(不移位)
    	
    long longValue = 733183670L;
    System.out.println("longValue:" + (longValue));//打印longValue
    System.out.println("longValue右移1位:" + (longValue >> 1));//右移1位
    System.out.println("longValue右移8位:" + (longValue >> 8));//右移8位
    //当long类型右移位数大于等于64位操作时,会先求余后再进行移位操作
    System.out.println("longValue右移64位:" + (longValue >> 64));//求余为64%64=0,相当于右移0位(不移位)
    System.out.println("longValue右移72位:" + (longValue >> 72));//求余为72%64=8,相当于右移8位
    System.out.println("longValue右移128位:" + (longValue >> 128));//求余为128%64=0,相当于右移0位(不移位)

    3.无符号右移( >>> )

    package com.xcy;
    public class Test {
    public static void main(String[] args) {
    System.out.println(5>>3);//结果是0
    System.out.println(-5>>3);//结果是-1
    System.out.println(-5>>>3);//结果是536870911
    }
    }

    4.位与( & )

    package com.xcy;
    public class Test {
    public static void main(String[] args) {
    System.out.println(5 & 3);//结果为1
    }
    }

    5.位或( | )

    package com.xcy;
    public class Test {
    public static void main(String[] args) {
    System.out.println(5 | 3);//结果为7
    }
    }

    以上就是在java中位运算符转换进制的方法,本篇展示的都是大家用的比较频繁的位运算符,有其它方面想要了解的,可以课后自己找寻资料。更多Java学习指路:Java基础

    专题推荐:java位运算符转换
    上一篇:java中的位运算符是什么?是什么? 下一篇:java之三元运算符是什么?

    相关文章推荐

    • java中常量是什么?有哪些类型?• 算术运算符如何在java中使用?• java中赋值运算符是什么?• java中如何用关系运算符判断?• java:逻辑运算符是什么?怎么用?• java中的位运算符是什么?是什么?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网