當前位置:首頁 » 編程語言 » java進制轉化

java進制轉化

發布時間: 2022-04-12 04:14:39

A. java實現:整數進制相互轉換

java實現:整數進制相互轉換的方法:

  1. 十進制轉為二進制、八進制、十六進制, 用 Integer.toXXXString()方法

    (1)十進制轉為二進制: Integer.toBinaryString(int i);

    public static String toBinaryString(inti):以二進制(基數 2)無符號整數形式返回一個整數參數的字元串表示形式。

    (2)十進制轉為8進制 :Integer.toOctalString(int i);
    public static String toOctalString(inti):以八進制(基數 8)無符號整數形式返回一個整數參數的字元串表示形式。

    (3)十進制轉為16進制: Integer.toHexString(int i);

    public static String toHexString(inti):以十六進制(基數 16)無符號整數形式返回一個整數參數的字元串表示形式。

舉例:

Stringbin=Integer.toBinaryString(10);
Stringoct=Integer.toOctalString(10);
Stringhex=Integer.toHexString(10);

2.十六進制、八進制、二進制轉為十進制(有兩種方法):parseInt() 和valueOf()。

Integer.parseInt(String s,int radix);

public static int parseInt(String s,int radix) throws NumberFormatException{}使用第二個參數作為指定的基數,將字元串參數解析為有符號的整數;

Integer.valueOf(String s,int radix);

public static Integer valueOf(Strings, intradix) throws NumberFormatException{}返回一個 Integer 對象,該對象中保存了用第二個參數提供的基數進行解析時從指定的 String 中提取的值。

舉例:

try{
inti=Integer.parseInt("a",16);
//輸出為10進制數10
System.out.println(i);
}catch(Exceptione){
e.printStackTrace();
}
try{
//十六進制轉成十進制
Stringhex=Integer.valueOf("FFFF",16).toString();
System.out.println(hex);
//八進制轉成十進制
Stringoct=Integer.valueOf("12",8).toString();
System.out.println(oct);
//二進制轉十進制
Stringbin=Integer.valueOf("0101",2).toString();
System.out.println(bin);
}catch(Exceptione){
e.printStackTrace();
}

B. 用JAVA將十進制轉換成十六進制

1、用Integer.toHexString方法即可將十進制裝成十六進制。

package com.test;

public class Test {

public static void main(String[] args) {
int i = 123;
System.out.println(Integer.toHexString(i));
}
}

C. 怎麼用java實現 進制轉換

如輸入10進制,別的進制用
integer.tobinarystring(int
i)

integer.tooctalstring(int
i)

integer.tohexstring(int
i)
進行轉換;別的進制轉換也同樣實現

D. Java 進制轉換

public static void main(String[] args) {
int x = (int)(Math.random()*1000+1);
System.out.println("隨機數:"+x);
String allNumber = Integer.toString(x,3);
String[] tmmp = allNumber.split("");
String y = "";
for(String str : tmmp){
if (y.length() == 0 ){
y = y + str;
}else{
y=y+","+str;
}
}
System.out.println("生成的三進制:"+y);

// 逆序輸出
StringBuffer sb = new StringBuffer(allNumber);
String tmpx = sb.reverse().toString();
System.out.println("逆序輸出結果:"+tmpx);
//計算十六進制
String hexString = Integer.toString(Integer.parseInt(tmpx),16);
System.out.println("hexString="+hexString);
// 都換成十進制進行比較
int intB = Integer.valueOf(hexString,16);
int intA = Integer.valueOf(y,3);
if(intA>intB){
System.out.println("A>B");
}else if(intA==intB){
System.out.println("A=B");
}else{
System.out.println("A<B");
}

E. 用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,這是一個做乘法的過程,對計算機來說雖然比除法簡單,但計算速度也不快。

以上內容參考:網路-十進制

F. JAVA如何實現進制之間的轉換

publicstaticvoidmain(String[]args)
{
intnumber=123;//十進制
System.out.println(Integer.toBinaryString(number));//二進制1111011
System.out.println(Integer.toOctalString(number));//八進制173
System.out.println(Integer.toHexString(number));//十六進制7b

}

G. 如何用java寫個整數進制轉換器

java實現:整數進制相互轉換的方法:

  • 十進制轉為二進制、八進制、十六進制, 用 Integer.toXXXString()方法

    (1)十進制轉為二進制: Integer.toBinaryString(int i);

    public static String toBinaryString(inti):以二進制(基數 2)無符號整數形式返回一個整數參數的字元串表示形式。

    (2)十進制轉為8進制 :Integer.toOctalString(int i);public static String toOctalString(inti):以八進制(基數 8)無符號整數形式返回一個整數參數的字元串表示形式。

    (3)十進制轉為16進制: Integer.toHexString(int i);

    public static String toHexString(inti):以十六進制(基數 16)無符號整數形式返回一個整數參數的字元串表示形式。

  • 舉例:

    Stringbin=Integer.toBinaryString(10);Stringoct=Integer.toOctalString(10);Stringhex=Integer.toHexString(10);
  • 2.十六進制、八進制、二進制轉為十進制(有兩種方法):parseInt() 和valueOf()。

    Integer.parseInt(String s,int radix);

    public static int parseInt(String s,int radix) throws NumberFormatException{}使用第二個參數作為指定的基數,將字元串參數解析為有符號的整數;

    Integer.valueOf(String s,int radix);

    public static Integer valueOf(Strings, intradix) throws NumberFormatException{}返回一個 Integer 對象,該對象中保存了用第二個參數提供的基數進行解析時從指定的 String 中提取的值。

    舉例:

    try{inti=Integer.parseInt("a",16);//輸出為10進制數10System.out.println(i);}catch(Exceptione){e.printStackTrace();}try{//十六進制轉成十進制Stringhex=Integer.valueOf("FFFF",16).toString();System.out.println(hex);//八進制轉成十進制Stringoct=Integer.valueOf("12",8).toString();System.out.println(oct);//二進制轉十進制Stringbin=Integer.valueOf("0101",2).toString();System.out.println(bin);}catch(Exceptione){e.printStackTrace();}

H. Java一道關於進制轉換的編程

public static void main(String[] args) {
int binArr[]={1101,1001,110,101,111,10,11};
int arr[]=new int[binArr.length];
//1.二進制轉十進制;
for(int i=0;i<binArr.length;i++){
arr[i]=Integer.valueOf(String.valueOf(binArr[i]),2);
}
//2.冒泡排序
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr.length-1-i;j++){
if(arr[j+1]<arr[j]){
int tem=arr[j+1];
arr[j+1]=arr[j];
arr[j]=tem;
}
}
}
System.out.println(Arrays.toString(arr));
}

I. java中如何將十進制數字轉化成二進制

如果表達小於2^31-1的正數代碼如下:

public void binaryToDecimal(int n){

int t = 0; //用來記錄位數

int bin = 0; //用來記錄最後的二進制數

int r = 0; //用來存儲余數

while(n != 0){

r = n % 2;

n = n / 2;

bin += r * Math().pow(10,t);

t++;

}

System.out.println(bin);

}

使用字元串的拼接(+)來實現大於2^31-1的數,代碼如下:

public void binaryToDecimal(int n){

String str = "";

while(n!=0){

str = n%2+str;

n = n/2;

}

System.out.println(str);

}

可以右移後再與0x01進行&運算得到第一位的數字判斷判斷它的第幾位上是0,第幾位上是1,代碼如下:

class ByteMove

{

public static void main(String[] args)

{

int i = 7;

move(i);

}

static void move(int num){

for(int i= 0;i<6;i++){

System.out.println("第"+(i+1)+"位:" + (num >> i & 0x01));

}

}

}

J. Java 中的進制數轉換( Integer 類中有2種轉換形式)

是你理解錯了 第一個方法是求二進制數沒錯 而第二個方法的正確理解應該是:
方法parseInt(String s,int radix)的目的是輸出一個十進制數,這個數字是「String s」但是我們要知道他是多少進制的,而方法中「int radix」參數正是來表達這個信息的。
以上摘抄自Java API文檔

比如:parseInt(1010,2)
意思就是:輸出2進制數1010在十進制下的數.
更直白地說:parseInt(String s,int radix)就是求「int radix」進制數「String s」的十進制數是多少。

熱點內容
eclipsejsp編譯 發布:2025-01-20 00:51:02 瀏覽:860
虛擬機連宿主機ftp 發布:2025-01-20 00:43:04 瀏覽:356
最小生成樹的prim演算法 發布:2025-01-20 00:39:40 瀏覽:325
淘寶助理無法上傳 發布:2025-01-20 00:34:33 瀏覽:883
如何做一個代理伺服器 發布:2025-01-20 00:18:39 瀏覽:803
android背單詞源碼 發布:2025-01-19 23:57:21 瀏覽:727
領動配置怎麼樣 發布:2025-01-19 23:56:35 瀏覽:83
python造數據 發布:2025-01-19 23:51:31 瀏覽:903
linux下卸載mysql 發布:2025-01-19 23:40:34 瀏覽:339
linuxweb路徑 發布:2025-01-19 23:25:08 瀏覽:941