「java八进制教学」java实现十进制转八进制

博主:adminadmin 2022-12-30 01:36:06 678

今天给各位分享java八进制教学的知识,其中也会对java实现十进制转八进制进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

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怎样将十进制转为八进制的数的编码

十进制转八进制最简单的方法

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

用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;

}

}

关于java八进制教学和java实现十进制转八进制的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。