Java實現(xiàn)二進制與十進制之間互相轉(zhuǎn)換的完整代碼
,需要的朋友可以參考下
在編程中,數(shù)制轉(zhuǎn)換是一個非常常見的需求。Java 作為一種高級語言,提供了便捷的方法來實現(xiàn) 二進制(Binary) 和 十進制(Decimal) 之間的轉(zhuǎn)換。本文將介紹 Java 中二進制與十進制互轉(zhuǎn)的原理與實現(xiàn)方式,并附上完整代碼示例。
一、十進制轉(zhuǎn)二進制
1.1 原理
十進制轉(zhuǎn)二進制的方法通常有兩種:
- 手動除以 2 取余法:不斷將十進制數(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("十進制 " + decimal + " 轉(zhuǎn)換為二進制為: " + binary);
}
}
輸出:
十進制 42 轉(zhuǎn)換為二進制為: 101010
二、二進制轉(zhuǎn)十進制
2.1 原理
- 將二進制字符串按照權(quán)展開(即 $2^n$)求和。
- Java 中可以使用
Integer.parseInt(String s, int radix)方法進行轉(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("二進制 " + binary + " 轉(zhuǎn)換為十進制為: " + decimal);
}
}
輸出:
二進制 101010 轉(zhuǎ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("請選擇操作:");
System.out.println("1. 十進制轉(zhuǎn)二進制");
System.out.println("2. 二進制轉(zhuǎn)十進制");
int choice = scanner.nextInt();
if (choice == 1) {
System.out.print("請輸入十進制數(shù)字: ");
int decimal = scanner.nextInt();
String binary = Integer.toBinaryString(decimal);
System.out.println("轉(zhuǎn)換后的二進制為: " + binary);
} else if (choice == 2) {
System.out.print("請輸入二進制數(shù)字: ");
String binary = scanner.next();
try {
int decimal = Integer.parseInt(binary, 2);
System.out.println("轉(zhuǎn)換后的十進制為: " + decimal);
} catch (NumberFormatException e) {
System.out.println("輸入的不是有效的二進制數(shù)字!");
}
} else {
System.out.println("無效的選擇!");
}
scanner.close();
}
}
四、總結(jié)
| 類型 | Java 方法 | 示例 |
|---|---|---|
| 十進制轉(zhuǎn)二進制 | Integer.toBinaryString(int) | Integer.toBinaryString(42) → 101010 |
| 二進制轉(zhuǎn)十進制 | Integer.parseInt(str, 2) | Integer.parseInt("101010", 2) → 42 |
Java 提供的這些工具方法極大地簡化了進制轉(zhuǎn)換操作。在實際開發(fā)中,你也可以擴展思路處理其他進制之間的轉(zhuǎn)換,比如八進制、十六進制等。
如需進一步擴展為支持其他進制(例如十六進制轉(zhuǎn)二進制等),也可以繼續(xù)使用 Integer.toString(int num, int radix) 與 Integer.parseInt(String str, int radix) 進行靈活轉(zhuǎn)換。
以上就是Java實現(xiàn)二進制與十進制之間互相轉(zhuǎn)換的完整代碼的詳細內(nèi)容,更多關(guān)于Java二進制與十進制互轉(zhuǎn)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
@FeignClient注解中屬性contextId的使用說明
這篇文章主要介紹了@FeignClient注解中屬性contextId的使用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06
解決IDEA2021版compiler.automake.allow.when.app.running不存在的問題
很多文章介紹IntelliJ IDEA開啟熱部署功能都會寫到在IntelliJ IDEA中的注冊表中開啟compiler.automake.allow.when.app.running選項,此選項在IntelliJ IDEA 2021.2之后的版本遷移到高級設(shè)置中,下面看下設(shè)置方法2021-09-09
Spring?boot?整合?Redisson實現(xiàn)分布式鎖并驗證功能
這篇文章主要介紹了Spring?boot?整合?Redisson實現(xiàn)分布式鎖并驗證,redisson是官方推薦的分布式鎖實現(xiàn)方案,采用redis自身的原子命令和lua腳本來實現(xiàn),需要的朋友可以參考下2022-05-05
解決idea找不到類could not find artifact問題
本文總結(jié)了解決Java項目中找不到類的問題的常見解決方案,包括刷新Maven項目、清理IDEA緩存、Maven Clean Install、重新Package、解決依賴沖突和手動導入依賴包等方法2025-01-01
Spring?Boot?根據(jù)配置決定服務(wù)(集群、單機)是否使用某些主件的操作代碼
這篇文章主要介紹了Spring?Boot根據(jù)配置決定服務(wù)(集群、單機)是否使用某些主件,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2025-04-04

