❶ 請問怎麼用java編程語言,將10進制的數字轉為2進制,8進制,16進制具體代碼怎麼寫
import java.io.*;
class test
{
static BufferedReader keyboard=new
BufferedReader(new InputStreamReader(System.in));
public static void main(String[]args)throws IOException
{
int n,base;
n=Integer.parseInt(keyboard.readLine());
exchange(n);
System.out.println();
}
public static void exchange(int n)
{
if(n>0)
{
exchange(n/2);
System.out.print(n%2);
}
}
}
這個是十進制轉化為二進制的
用的是遞歸方法
八進制與十六進制思路相同
❷ 數據結構(Java版)實驗2:使用一個棧,將十進制轉換成二進制、八進制或十六進制。
public static String baseConverter(int decNumber,int base){
String[] digits = new String[]{"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"};
String result = "";
Stack<Integer> remStack = new Stack<Integer>();
while(decNumber > 0){
int rem = decNumber % base;
remStack.push(rem);
decNumber = decNumber/base;
}
while(!remStack.isEmpty()){
result = result+digits[remStack.pop()];
}
return result;
}
這個可以任意轉換,記得採納啊
❸ java裡面二進制 八進制 十進制 十六進制怎麼互相轉換,有什麼規律
=============(正)十進制轉二進制
除二將余數倒置
eg: 127 /2
商:63 /2 31 /2 15 /2 7 /2 3 /2 1
余數:1 1 1 1 1 1
1111111
=============(負)十進制轉二進制
1、先求負數絕對值的二進制
2、將得到的二進制完全取反+1
eg: -12
1、0000 1100
2、1111 0011 + 1 = 1111 0100
=============(正)十進制轉八進制
除八將余數倒置
eg:54 /8 =66
6
6
=============(負)十進制轉八進制
1、先將十進制轉為二進制
2、再將二進制轉為八進制
eg:-32
1、0010 0000
2、1110 0000
3、三位三位轉
340
=============十進制轉十六進制
1、先將十進制轉為二進制
2、將二進制轉為十六進制
=============二進制轉為十進制
(正)二進制位上的各個數字乘以以2為底數,以自然數為次冪(自然數從0開始)
0110 1011 1*2^0 + 1*2^1 + 0*2^2 + 1*2^3 + 0*2^4 + 1*2^5 + 1*2^6 = 107
(負)
1、首先得到負號
2、將該二進制數取反+1
3、將得到的數轉為十進制加上負號。
=============二進制轉八進制
(1)將二進制三個三個分為一組,分別求出每組二進制的八進制值,將所得到的值依次排開
(2) 1、將二進制轉為十進制
2、將十進制轉為八進制
============二進制轉十六進制
將二進制四個四個分為一組,分別求出每組二進制的十六進制值,將所得到的值依次排開
============八進制轉二進制
(1)將八進制各個位上的數單個轉為二進制,不足三位的補0
eg:127 001 010 111
(2) 1、將八進制轉為十進制
2、再將十進制轉為二進制
============八進制轉十進制
八進制位上的各個數字乘以以8為底數,以自然數為次冪(自然數從0開始)
543 3*8^0 + 4*8^1 + 5*8^2 = 355
============八進制轉十六進制
1、先將八進制轉為二進制
2、再將所得的二進制轉為十六進制
============十六進制轉二進制
將十六進制各個位上的數單個轉為二進制,不足四位的補0
eg:127 0001 0010 0111
============十六進制轉其他進制
都需要先轉為二進制,再轉為其他進制
❹ java怎樣將十進制轉為八進制的數的編碼
String oct = Integer.toOctalString( args);//括弧里是要轉換的十進制數
八進制和十六進制是字元串形式,轉換出來後要有回String類引用。
八進制字元串轉為答10進制
int s = Integer.parseInt(oct, 8);//第一個參數是要轉換為10進制的字元串,第二個參數是表明字元串是幾進制的數,這里是8進制。也可以是2,10,16.
❺ JAVA編程語句:怎麼把100的八進製表示出來
System.out.println((「」+n3+n2+n1);
只需要在最前面加一個雙引號就可以
字元串與任何類型相加結果為字元串