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

java轉八進制

發布時間: 2022-07-20 00:01:13

A. java編程語句:怎麼把100的八進製表示出來

1. 你的方法,應先做個字元串拼接,不然3個整數,用+號連接,Java默認先計算再輸出

2. Java中Integer類中,有方法可以將10進制數轉成8進制數

3. 採用格式化輸出

代碼如下,有注釋,參考:

classwork8{
publicstaticvoidmain(String[]args){
intnum=100;
System.out.println("Java自帶的方法轉8進制:"+Integer.toOctalString(num));
intn1=num&7;
inttemp1=num>>>3;
intn2=temp1&7;
inttemp2=temp1>>>3;
intn3=temp2&7;
//做字元串拼接
System.out.println(""+n3+n2+n1);
//格式化輸出
System.out.printf("%d%d%d",n3,n2,n1);
}
}

親,如果回答滿意,請即時採納,謝謝!

B. Java中怎麼表示八進制和十六進制了

八進制:int a=031; //8進制,以數字0開始。
十六進制:int b=0x1B; //16進制,以0x開始。

C. java怎樣將十進制轉為八進制的數的編碼

十進制轉八進制最簡單的方法
System.out.println("10的八進制="+Integer.toOctalString(10));
擴展
十進制轉二進制、八進制、十六進制
System.out.println("10的二進制="+Integer.toBinaryString(10));
System.out.println("10的八進制="+Integer.toOctalString(10));
System.out.println("10的十六進制="+Integer.toHexString(10));
10的二進制=1010
10的八進制=12
10的十六進制=a

D. 求Java大神,十進制轉八進制,請問我的代碼該怎麼改

十進制轉八進制JDK有提供API,
十進制轉八進制最簡單的方法:
System.out.println("10的八進制="+Integer.toOctalString(10));
System.out.println("10的二進制="+Integer.toBinaryString(10));
System.out.println("10的八進制="+Integer.toOctalString(10));
System.out.println("10的十六進制="+Integer.toHexString(10));

E. JAVA中運用Stack類實現十進制轉換成八進制

直接在分割的時候就執行壓棧操作,出棧時移位相加,一個棧就能解決,不過毫無意義,在開發中並沒有什麼卵用。

有問題歡迎提問,滿意請採納,謝謝!

F. Java 16進制轉換成8進制

G. 用JAVA怎樣實現十進制,八進制,二進制,十六進制的相互轉換,求解

/*
比較原始的方案,可供學習原理
*/

import java.util.Scanner;
/**
*
* @author Administrator
*/
public class Test_math {

public static void main(String args[]) {
Scanner in =new Scanner(System.in);
int m,n;//m進制轉n進制
System.out.println("輸入原始數據進制:");
m=in.nextInt();
System.out.println("請輸入目標數據進制");
n=in.nextInt();
System.out.println("輸入要轉換的數據");
in.nextLine();
String s=in.nextLine();
int x10=0;

if(m!=10)
{
x10=Test_math.m_to_ten(s, m);
}
else
{
x10=Integer.parseInt(s);
}
if(n==10)
{
System.out.println("結果:"+x10);
return;
}
String ans=Test_math.十進制轉m進制(x10, n);

System.out.println("結果:"+ans);

// int d = 1458;
// String s2 = Test_math.十進制轉m進制(d, 16);
// System.out.println(s2);
// s2 = "100100";
// d = Test_math.bin_to_ten(s2);
// System.out.println(d);
// System.out.println(Test_math.m_to_ten("AA", 16));
}
public static int m_to_ten(String s, int m) {
int d = 0;
int len = s.length();
for (int i = 0; i < len; i++) {
String t = String.valueOf(s.charAt(i));
switch(s.charAt(i))
{
case 'A': case 'a': t="10"; break;
case 'B': case 'b': t="11"; break;
case 'C': case 'c': t="12"; break;
case 'D': case 'd': t="13"; break;
case 'E': case 'e': t="14"; break;
case 'F': case 'f': t="15"; break;
}
int ds = Integer.parseInt(t) * (int) Math.pow(m, (len - i - 1));
d += ds;
}
return d;
}

public static String 十進制轉m進制(int s, int m) {
String ans = "";
int n = (int) (Math.log(s) / Math.log(m)) + 1;
int[] c = new int[n];
c = Test_math.十進制轉m進制(s, m, n);
for (int i = 0; i < n; i++) {
if (m == 16 && c[i] >= 10) {
switch (c[i]) {
case 10:
ans += "A";
break;
case 11:
ans += "B";
break;
case 12:
ans += "C";
break;
case 13:
ans += "D";
break;
case 14:
ans += "E";
break;
case 15:
ans += "F";
break;
}
} else {
ans += c[i];
}
}

return ans;
}
public static int[] 十進制轉m進制(int s, int m, int n) {
//System.out.println(" \n s="+s+"m="+m+ " n="+n);
//十進制轉m進制,並湊出n位數,存到一個數組中返回
int[] ans = new int[n];
for (int i = 0; i < n; i++) {
ans[i] = 0;
}
int 當前位 = n - 1;
while (s >= m) {
//System.out.println("s="+s+" 當前位="+當前位);
ans[當前位] = s % m;
當前位--;
s = s / m;
}
ans[當前位] = s;
return ans;
}
}

H. java方法利用棧,將十進制數轉換成八進制的數

import java.util.Scanner;
import java.util.Stack;/**
* 將十進制數轉換為八進制數
*
* @author austin
*/
public class DecimalToOctalConvertor { /**
* @param args
*/
public static void main(String[] args) {
/*
* 接收一個用戶從通過鍵盤輸入的整數,作為要轉換的十進制數
*/
Scanner reader = new Scanner(System.in);
System.out.print("請輸入要轉換的十進制數:");
int decimalNum = reader.nextInt(); /*
* 採用除8取余,從下至上的演算法來計算八進制數:即用進制數除以8,然後將所得余數作為8進制數的低位數,再用所得的商繼續除以8,以此類推,直到商為0為止
* 在這個過程中,每次的余數都需要保存到一個列表中,而且後添加到列表中的元素要先輸出,即後進先出,因此採用棧結構來處理
*/
Stack<Integer> octalStack = new Stack<Integer>();
int temp = decimalNum;
do {
octalStack.push(temp % 8); // 將除以8所得的余數添加到棧中
temp /= 8; // 計算除以8所得的商
}
while (temp != 0); // 如果商不為0,則繼續計算下去 /*
* 採用後進先出的方式輸入棧中的元素,就得到了所要求的八進制數
*/
System.out.print("八進制:0");
while (!octalStack.isEmpty()) {
System.out.print(octalStack.pop());
}
System.out.println();
}
}

I. 十六進制轉八進制 java

package hextooctal;

import java.util.HashMap;

public class HexToOctal {
public static void main(String[] args) {
String str = hexToOctal("1a5f");
System.out.println(str);
}

//十六進制轉八進制
public static String hexToOctal(String str) {
String s = hexToBinary(str);
//System.out.println(s);
String s1 = binaryHandle(s);
//System.out.println(s1);
return binaryToOctal(s1);
}

//十六進制轉成二進制
public static String hexToBinary(String hexNum){
char[] chs = {'0','1'};
String str = new String("0123456789ABCDEF");
char[] charArray = hexNum.toUpperCase().toCharArray();
int pos = charArray.length*4;
char[] binaryArray = new char[pos];
for (int i = charArray.length - 1; i >=0; i--) {
int temp = str.indexOf(charArray[i]);
for(int j=0;j<4;j++){
binaryArray[--pos] = chs[temp & 1];
temp = temp >>> 1;
}
}
return new String(binaryArray);
}

//二進制轉成八進制
public static String binaryToOctal(String binary){
HashMap<String,Character> map = new HashMap<String, Character>();
map.put("000", '0');
map.put("001", '1');
map.put("010", '2');
map.put("011", '3');
map.put("100", '4');
map.put("101", '5');
map.put("110", '6');
map.put("111", '7');

int pos = binary.length()/3;
char[] octArray = new char[pos];
for(int i = binary.length();i>0;i-=3){
String s = binary.substring(i-3,i);
octArray[--pos] = map.get(s);
}

return new String(octArray);
}

//處理二進制字元串
public static String binaryHandle(String binary){
String str = binary.substring(binary.indexOf('1'));
int len = str.length();
if(len%3==0)
return str;
else if(len%3 == 1)
return "00"+str;
else
return "0" + str;
}
}

熱點內容
android下拉刷新通用 發布:2025-02-01 05:03:51 瀏覽:905
紫光存儲最近 發布:2025-02-01 04:58:49 瀏覽:380
sqlserver重命名 發布:2025-02-01 04:56:24 瀏覽:428
iisftp被動模式 發布:2025-02-01 04:41:50 瀏覽:350
車載安卓怎麼安裝軟體 發布:2025-02-01 04:30:50 瀏覽:469
安卓系統su程序是什麼 發布:2025-02-01 04:25:42 瀏覽:475
android代碼行數統計 發布:2025-02-01 04:20:47 瀏覽:216
快速喊話腳本 發布:2025-02-01 04:16:48 瀏覽:885
如何分辨普拉多的配置 發布:2025-02-01 04:11:45 瀏覽:681
linuxc文件刪除 發布:2025-02-01 04:11:33 瀏覽:218