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

 更新时间:2025年08月05日 09:58:27   作者:肥极喵  
在编程中,数制转换是一个非常常见的需求,Java 作为一种高级语言,提供了便捷的方法来实现 二进制和 十进制之间的转换,本文将介绍 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二进制与十进制互转的资料请关注脚本之家其它相关文章!

相关文章

  • @FeignClient注解中属性contextId的使用说明

    @FeignClient注解中属性contextId的使用说明

    这篇文章主要介绍了@FeignClient注解中属性contextId的使用说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • SpringBoot实现子类的反序列化示例代码

    SpringBoot实现子类的反序列化示例代码

    这篇文章主要给大家介绍了关于SpringBoot实现子类的反序列化的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用SpringBoot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • java Socket简易聊天工具

    java Socket简易聊天工具

    这篇文章主要为大家详细介绍了java Socket简易聊天工具,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • 解决IDEA2021版compiler.automake.allow.when.app.running不存在的问题

    解决IDEA2021版compiler.automake.allow.when.app.running不存在的问题

    很多文章介绍IntelliJ IDEA开启热部署功能都会写到在IntelliJ IDEA中的注册表中开启compiler.automake.allow.when.app.running选项,此选项在IntelliJ IDEA 2021.2之后的版本迁移到高级设置中,下面看下设置方法
    2021-09-09
  • Spring boot 整合 Redisson实现分布式锁并验证功能

    Spring boot 整合 Redisson实现分布式锁并验证功能

    这篇文章主要介绍了Spring boot 整合 Redisson实现分布式锁并验证,redisson是官方推荐的分布式锁实现方案,采用redis自身的原子命令和lua脚本来实现,需要的朋友可以参考下
    2022-05-05
  • 解决idea找不到类could not find artifact问题

    解决idea找不到类could not find artifact问题

    本文总结了解决Java项目中找不到类的问题的常见解决方案,包括刷新Maven项目、清理IDEA缓存、Maven Clean Install、重新Package、解决依赖冲突和手动导入依赖包等方法
    2025-01-01
  • spring结合hibernate示例详解

    spring结合hibernate示例详解

    这篇文章主要介绍了spring结合hibernate结合,需要的朋友可以参考下
    2017-09-09
  • 最好的Java 反编译工具的使用对比分析

    最好的Java 反编译工具的使用对比分析

    恰好最近工作中也需要用到 Java 反编译,所以这篇文章介绍目前常见的的几种 Java 反编译工具的使用,在文章的最后也会通过编译速度、语法支持以及代码可读性三个维度,对它们进行测试,分析几款工具的优缺点,感兴趣的朋友一起看看吧
    2021-05-05
  • Spring Boot 根据配置决定服务(集群、单机)是否使用某些主件的操作代码

    Spring Boot 根据配置决定服务(集群、单机)是否使用某些主件的操作代码

    这篇文章主要介绍了Spring Boot根据配置决定服务(集群、单机)是否使用某些主件,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-04-04
  • Spring @Autowired注解超详细示例

    Spring @Autowired注解超详细示例

    @Autowired注解可以用在类属性,构造函数,setter方法和函数参数上,该注解可以准确地控制bean在何处如何自动装配的过程。在默认情况下,该注解是类型驱动的注入
    2022-08-08

最新评论