Java进制以及位运算


package com.yt.test.test;

public class Test {

    public static void main(String[] args) {
        // 十六进制
        int a16 = 0x0F;
        int b16 = 0x01 + a16;
        System.out.println(a16);
        System.out.println(b16);

        System.out.println("------------------------");

        // 八进制
        int a8 = 011;
        int b8 = 011 + a8;
        System.out.println(a8);
        System.out.println(b8);

        System.out.println("------------------------");

        // 二进制
        int a2 = 0b11;
        int b2 = 0b11 + a2;
        System.out.println(a2);
        System.out.println(b2);

        System.out.println("------------------------");

        int i = 17;
        String num10 = "";
        // 十进制转成十六进制:
        num10 = Integer.toHexString(i);
        System.out.println(num10);
        // 十进制转成八进制
        num10 = Integer.toOctalString(Integer.MAX_VALUE);
        System.out.println(num10);
        // 十进制转成二进制
        num10 = Integer.toBinaryString(Integer.MAX_VALUE);
        System.out.println(num10);

        System.out.println("------------------------");

        int j = 0;
        // 十六进制转成十进制
        j = Integer.valueOf("FFFF", 16);
        System.out.println(j);
        // 八进制转成十进制
        j = Integer.valueOf("676", 8);
        System.out.println(j);
        // 二进制转十进制
        j = Integer.valueOf("0101", 2);
        System.out.println(j);

        System.out.println("------------------------");

        // “按位与(&)”:A & B = 00111100 & 00001101= 00001100 (十进制:12)
        int a = 0b00111100 & 0b00001101;
        System.out.println(a);

        // “按位或(|)”:A | B = 00111100 | 00001101= 00111101 (十进制:61)
        int b = 0b00111100 | 0b00001101;
        System.out.println(b);

        // “按位异或(^)”:A ^ B = 00111100 ^ 00001101= 00110001 (十进制:49)
        int c = 0b00111100 ^ 0b00001101;
        System.out.println(c);

        // “按位补(~)”: ~ A = ~00111100 = 11000011 = - 00111100 (十进制:-60)
        int d = ~0b00111100;
        System.out.println(d);

        // “按位左移(<<)”:A << 2 = 00111100 << 2 = 11110000 (十进制:240)
        int e = 60 << 2;
        System.out.println(e);
    }
}

posted on   疯狂的妞妞  阅读(212)  评论(0编辑  收藏  举报

(评论功能已被禁用)
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
< 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

导航

统计

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