• java进制与位运算


    1.进制

    java中使用不同的进制数字用不同的前缀表示,以下演示四种常见的进制

    对于一个合格的程序员来说,进制的知识是必须要掌握的😁

    示例:

    int n1 = 0b1010; // 二进制
    int n2 = 1010; // 十进制
    int n3 = 01010; // 八进制
    int n4 = 0x1010; // 十六进制
    System.out.println(n1);
    System.out.println(n2);
    System.out.println(n3);
    System.out.println(n4);
    --------------------------
    输出:
    10
    1010
    520
    4112
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    2.进制转化

    其他进制转十进制

    方法都是一样的,各种进制之间可以互通🤡

    二进制 – 十进制:
    在这里插入图片描述
    八进制 – 十进制:
    在这里插入图片描述
    十六进制 – 十进制:
    在这里插入图片描述

    十进制转其他进制

    十进制 – 二进制:
    在这里插入图片描述
    十进制 – 八进制:
    在这里插入图片描述
    十进制 – 十六进制:
    在这里插入图片描述

    混合进制转换

    二进制 – 八进制:
    在这里插入图片描述
    二进制 – 十六进制:
    在这里插入图片描述
    八进制 – 二进制:
    在这里插入图片描述
    十六进制 – 二进制:
    在这里插入图片描述


    3.原码反码补码的概念

    • 二进制最高位是符号位,0表示正数,1表示负数
    • 正数的原码反码补码都一样
    • 负数的反码 = 符号位不变,其他位取反
    • 负数的补码 = 其反码 + 1;负数的反码 = 其补码 - 1
    • 0的反码,补码都是0
    • 计算机在运算的时候,都是以补码方式进行运算的(正负统一,运算方便)
    • 当我们看运算结果时,要看其结果的原码

    4.位运算符

    操作符描述
    如果相对应位都是1,则结果为1,否则为0
    l如果相对应位都是 0,则结果为 0,否则为 1
    ^如果相对应位值相同,则结果为0,否则为1
    按位取反运算符翻转操作数的每一位,即0变成1,1变成0
    <<按位左移运算符。左操作数按位左移右操作数指定的位数
    >>按位右移运算符。左操作数按位右移右操作数指定的位数
    >>>按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充

    示例一:

    // 位运算
    int a = 2; // 补码:10
    int b = 3; // 补码:11
    System.out.println(a&b); // 2
    System.out.println(a|b); // 3
    System.out.println(a^b); // 1
    System.out.println(~a); // -3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    示例二:

    // 移位运算
    System.out.println(1>>2); // 一位相当于 / 2
    System.out.println(1<<2); // 一位相当于 * 2
    System.out.println(1>>>2); // 无符号右移
    ---------------------
    输出:
    0
    4
    0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 相关阅读:
    DDR PCB设计布线时,拓扑结构的选择
    驶向高效运营,StarRocks 助力蔚来汽车数据分析再升级
    【开发方案】Android 双卡设备手动搜网功能适配
    JavaEE进阶:Spring 更简单的读取和存储对象
    进程(详解)
    RK平台使用MP4视频做开机动画以及卡顿问题
    跨平台游戏引擎 Axmol-2.1.3 发布
    PAT甲级:1063 Set Similarity|Python
    【Spring Cloud系列】Feign详解与实战
    C++中的std::move函数到底是做什么的?
  • 原文地址:https://blog.csdn.net/Gherbirthday0916/article/details/125598201