开发者

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

目录
  • 一、十进制转二进制
    • 1.1 原理
    • 1.2 示例代码
  • 二、二进制转十进制
    • 2.1 原理
    • 2.2 示例代码
  • 三、完整示例:交互式转换器
    • 四、总结

      在编程中,数制转换是一个非常常见的需求。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);
                      Systwww.devze.comem.out.println("转换后的十进制为: " + decimal);
                  } catch (NumberFormatException e) {
                      System.out.println("输入的不是有效的二进制数字!");
                  }
              } elsphpe {
                  System.out.println("无效的选择!");
              }
      
              scanner.close();
          }
      }
      

      四、总结

      类型Java 方法android
      十进制转二进制Integer.toBinaryString(int)Integer.toBinaryString(42) →agqErzFX 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二进制与十进制互转的资料请关注编程客栈(www.devze.com)其它相关文章!

      0

      上一篇:

      下一篇:

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      最新开发

      开发排行榜