⑴ 用java把二進制數轉換成十進制數。
二進制轉十進制
Integer.valueOf("0101",2).toString()
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("輸入一個二進制數: ");
String a = sc.nextLine();
int d = Integer.parseInt(a, 2); // 2進制
int o = Integer.parseInt(a, 8); // 8進制
System.out.println("二進制轉為十進制: " + d);
System.out.println("八進制轉為十進制: " + o);
計算機內部使用二進製表示數
二進制與十進制的轉換是比較復雜的。比如我們要讓計算機計算50+50=?,那麼首先要把十進制的50轉換成二進制的「50」——110010,這個過程要做多次除法,而計算機對於除法的計算是最慢的。把十進制的50轉換成二進制的110010還不算完,計算出結果1100100之後還要再轉換成十進制數100,這是一個做乘法的過程,對計算機來說雖然比除法簡單,但計算速度也不快。
以上內容參考:網路-十進制
⑵ java中怎麼把字元串解析成10進制數
java.lang.Integer中有一個方法:valueOf(String s,int radix),其中s為傳入的參數,radix為要將這個字元串中每一個數將被識別成什麼進制的數,不過無論字元串中的每一位被是識別成什麼都不重要,結果是它都轉換成了10進制數。比如:
定義一個字元串val s:String = "924"
再定義一個變數val z = Integer.valueOf(s,10),即可把字元串s中每一位數識別為10進制數,即『9』就是十進制中的9,『2』就是十進制中的2,『4』就是10進制中的4,所以最後轉換成10進制數依舊為924
但是如果將變數z定義成val z = Integer.valueOf(s,16),即可把字元串s中每一位數識別為16進制數,即『9』就是16進制中的9,『2』就是16進制中的2,『4』就是16進制中的4,所以轉換成10進制數為2340