欢迎来到徐庆高(Tea)的个人博客网站
磨难很爱我,一度将我连根拔起。从惊慌失措到心力交瘁,我孤身一人,但并不孤独无依。依赖那些依赖我的人,信任那些信任我的人,帮助那些给予我帮助的人。如果我愿意,可以分裂成无数面镜子,让他们看见我,就像看见自己。察言观色和模仿学习是我的领域。像每个深受创伤的人那样,最终,我学会了随遇而安。
当前位置: 日志文章 > 详细内容

Java实现二进制与十进制之间互相转换的完整代码

2025年08月05日 Java
在编程中,数制转换是一个非常常见的需求。java 作为一种高级语言,提供了便捷的方法来实现 二进制(binary) 和 十进制(decimal) 之间的转换。本文将介绍 java 中二进制与十进制互转

在编程中,数制转换是一个非常常见的需求。java 作为一种高级语言,提供了便捷的方法来实现 二进制(binary)十进制(decimal) 之间的转换。本文将介绍 java 中二进制与十进制互转的原理与实现方式,并附上完整代码示例。

一、十进制转二进制

1.1 原理

十进制转二进制的方法通常有两种:

  • 手动除以 2 取余法:不断将十进制数除以 2,将余数倒序排列。
  • 使用 java 提供的封装方法integer.tobinarystring(int i)

1.2 示例代码

public class decimaltobinary {
    public static void main(string[] args) {
        int decimal = 42;
        string binary = integer.tobinarystring(decimal);
        system.out.println("十进制 " + decimal + " 转换为二进制为: " + binary);
    }
}

输出:

十进制 42 转换为二进制为: 101010

二、二进制转十进制

2.1 原理

  • 将二进制字符串按照权展开(即 $2^n$)求和。
  • java 中可以使用 integer.parseint(string s, int radix) 方法进行转换。

2.2 示例代码

public class binarytodecimal {
    public static void main(string[] args) {
        string binary = "101010";
        int decimal = integer.parseint(binary, 2);
        system.out.println("二进制 " + binary + " 转换为十进制为: " + decimal);
    }
}

输出:

二进制 101010 转换为十进制为: 42

三、完整示例:交互式转换器

import java.util.scanner;

public class binarydecimalconverter {
    public static void main(string[] args) {
        scanner scanner = new scanner(system.in);
        system.out.println("请选择操作:");
        system.out.println("1. 十进制转二进制");
        system.out.println("2. 二进制转十进制");
        int choice = scanner.nextint();

        if (choice == 1) {
            system.out.print("请输入十进制数字: ");
            int decimal = scanner.nextint();
            string binary = integer.tobinarystring(decimal);
            system.out.println("转换后的二进制为: " + binary);
        } else if (choice == 2) {
            system.out.print("请输入二进制数字: ");
            string binary = scanner.next();
            try {
                int decimal = integer.parseint(binary, 2);
                system.out.println("转换后的十进制为: " + decimal);
            } catch (numberformatexception e) {
                system.out.println("输入的不是有效的二进制数字!");
            }
        } else {
            system.out.println("无效的选择!");
        }

        scanner.close();
    }
}

四、总结

类型java 方法示例
十进制转二进制integer.tobinarystring(int)integer.tobinarystring(42) → 101010
二进制转十进制integer.parseint(str, 2)integer.parseint("101010", 2) → 42

java 提供的这些工具方法极大地简化了进制转换操作。在实际开发中,你也可以扩展思路处理其他进制之间的转换,比如八进制、十六进制等。

如需进一步扩展为支持其他进制(例如十六进制转二进制等),也可以继续使用 integer.tostring(int num, int radix)integer.parseint(string str, int radix) 进行灵活转换。

以上就是java实现二进制与十进制之间互相转换的完整代码的详细内容,更多关于java二进制与十进制互转的资料请关注代码网其它相关文章!