,需要的朋友可以參考下" />

欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)現(xiàn)二進(jìn)制與十進(jìn)制之間互相轉(zhuǎn)換的完整代碼

 更新時(shí)間:2025年08月05日 09:58:27   作者:肥極喵  
在編程中,數(shù)制轉(zhuǎn)換是一個(gè)非常常見的需求,Java 作為一種高級(jí)語言,提供了便捷的方法來實(shí)現(xiàn) 二進(jìn)制和 十進(jìn)制之間的轉(zhuǎn)換,本文將介紹 Java 中二進(jìn)制與十進(jìn)制互轉(zhuǎn)的原理與實(shí)現(xiàn)方式,并附上完整代碼示例,
,需要的朋友可以參考下

在編程中,數(shù)制轉(zhuǎn)換是一個(gè)非常常見的需求。Java 作為一種高級(jí)語言,提供了便捷的方法來實(shí)現(xiàn) 二進(jìn)制(Binary)十進(jìn)制(Decimal) 之間的轉(zhuǎn)換。本文將介紹 Java 中二進(jìn)制與十進(jìn)制互轉(zhuǎn)的原理與實(shí)現(xiàn)方式,并附上完整代碼示例。

一、十進(jìn)制轉(zhuǎn)二進(jìn)制

1.1 原理

十進(jìn)制轉(zhuǎn)二進(jìn)制的方法通常有兩種:

  • 手動(dòng)除以 2 取余法:不斷將十進(jìn)制數(shù)除以 2,將余數(shù)倒序排列。
  • 使用 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("十進(jìn)制 " + decimal + " 轉(zhuǎn)換為二進(jìn)制為: " + binary);
    }
}

輸出:

十進(jìn)制 42 轉(zhuǎn)換為二進(jìn)制為: 101010

二、二進(jìn)制轉(zhuǎn)十進(jìn)制

2.1 原理

  • 將二進(jìn)制字符串按照權(quán)展開(即 $2^n$)求和。
  • Java 中可以使用 Integer.parseInt(String s, int radix) 方法進(jìn)行轉(zhuǎn)換。

2.2 示例代碼

public class BinaryToDecimal {
    public static void main(String[] args) {
        String binary = "101010";
        int decimal = Integer.parseInt(binary, 2);
        System.out.println("二進(jìn)制 " + binary + " 轉(zhuǎn)換為十進(jìn)制為: " + decimal);
    }
}

輸出:

二進(jìn)制 101010 轉(zhuǎn)換為十進(jìn)制為: 42

三、完整示例:交互式轉(zhuǎn)換器

import java.util.Scanner;

public class BinaryDecimalConverter {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("請(qǐng)選擇操作:");
        System.out.println("1. 十進(jìn)制轉(zhuǎn)二進(jìn)制");
        System.out.println("2. 二進(jìn)制轉(zhuǎn)十進(jìn)制");
        int choice = scanner.nextInt();

        if (choice == 1) {
            System.out.print("請(qǐng)輸入十進(jìn)制數(shù)字: ");
            int decimal = scanner.nextInt();
            String binary = Integer.toBinaryString(decimal);
            System.out.println("轉(zhuǎn)換后的二進(jìn)制為: " + binary);
        } else if (choice == 2) {
            System.out.print("請(qǐng)輸入二進(jìn)制數(shù)字: ");
            String binary = scanner.next();
            try {
                int decimal = Integer.parseInt(binary, 2);
                System.out.println("轉(zhuǎn)換后的十進(jìn)制為: " + decimal);
            } catch (NumberFormatException e) {
                System.out.println("輸入的不是有效的二進(jìn)制數(shù)字!");
            }
        } else {
            System.out.println("無效的選擇!");
        }

        scanner.close();
    }
}

四、總結(jié)

類型Java 方法示例
十進(jìn)制轉(zhuǎn)二進(jìn)制Integer.toBinaryString(int)Integer.toBinaryString(42) → 101010
二進(jìn)制轉(zhuǎn)十進(jìn)制Integer.parseInt(str, 2)Integer.parseInt("101010", 2) → 42

Java 提供的這些工具方法極大地簡化了進(jìn)制轉(zhuǎn)換操作。在實(shí)際開發(fā)中,你也可以擴(kuò)展思路處理其他進(jìn)制之間的轉(zhuǎn)換,比如八進(jìn)制、十六進(jìn)制等。

如需進(jìn)一步擴(kuò)展為支持其他進(jìn)制(例如十六進(jìn)制轉(zhuǎn)二進(jìn)制等),也可以繼續(xù)使用 Integer.toString(int num, int radix)Integer.parseInt(String str, int radix) 進(jìn)行靈活轉(zhuǎn)換。

以上就是Java實(shí)現(xiàn)二進(jìn)制與十進(jìn)制之間互相轉(zhuǎn)換的完整代碼的詳細(xì)內(nèi)容,更多關(guān)于Java二進(jìn)制與十進(jìn)制互轉(zhuǎn)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • JAVA WSIMPORT生成WEBSERVICE客戶端401認(rèn)證過程圖解

    JAVA WSIMPORT生成WEBSERVICE客戶端401認(rèn)證過程圖解

    這篇文章主要介紹了JAVA WSIMPORT生成WEBSERVICE客戶端401認(rèn)證過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • java安全停止線程的方法詳解

    java安全停止線程的方法詳解

    這篇文章主要介紹了java安全停止線程的方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 帶你了解Spring AOP的使用詳解

    帶你了解Spring AOP的使用詳解

    這篇文章主要介紹了Spring AOP的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • SpringBoot中的Bean的初始化與銷毀順序解析

    SpringBoot中的Bean的初始化與銷毀順序解析

    這篇文章主要介紹了SpringBoot中的Bean的初始化與銷毀順序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • servlet實(shí)現(xiàn)文件上傳、預(yù)覽、下載、刪除功能

    servlet實(shí)現(xiàn)文件上傳、預(yù)覽、下載、刪除功能

    這篇文章主要為大家詳細(xì)介紹了servlet實(shí)現(xiàn)文件上傳、預(yù)覽、下載、刪除功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • SpringBoot使用Caffeine實(shí)現(xiàn)內(nèi)存緩存示例詳解

    SpringBoot使用Caffeine實(shí)現(xiàn)內(nèi)存緩存示例詳解

    caffeine提供了四種緩存策略:分別為手動(dòng)加載、自動(dòng)加載、異步手動(dòng)加載、異步自動(dòng)加載,這篇文章主要介紹了SpringBoot使用Caffeine實(shí)現(xiàn)內(nèi)存緩存,需要的朋友可以參考下
    2023-06-06
  • 改善Java代碼之慎用java動(dòng)態(tài)編譯

    改善Java代碼之慎用java動(dòng)態(tài)編譯

    這篇文章主要介紹了改善Java代碼之慎用java動(dòng)態(tài)編譯,需要的朋友可以參考下
    2021-04-04
  • java以json格式向后臺(tái)服務(wù)器接口發(fā)送請(qǐng)求的實(shí)例

    java以json格式向后臺(tái)服務(wù)器接口發(fā)送請(qǐng)求的實(shí)例

    下面小編就為大家分享一篇java以json格式向后臺(tái)服務(wù)器接口發(fā)送請(qǐng)求的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • 使用java獲取md5值的兩種方法

    使用java獲取md5值的兩種方法

    本篇文章是對(duì)使用java獲取md5值的兩種方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • IntelliJ IDEA 2020.3 重大特性(新功能一覽)

    IntelliJ IDEA 2020.3 重大特性(新功能一覽)

    這篇文章主要介紹了IntelliJ IDEA 2020.3 重大特性(新功能一覽),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12

最新評(píng)論