java 八进制 转 二进制_Java程序二进制数与八进制相互转换

Java程序二进制数与八进制相互转换

在此程序中,您将学习使用Java中的函数将二进制数转换为八进制数,反之亦然。

示例1:将二进制转换为八进制的程序

在此程序中,我们将首先将二进制数字转换为十进制。然后,十进制数字转换为八进制。

public class BinaryOctal {

public static void main(String[] args) {

long binary = 101001;

int octal = convertBinarytoOctal(binary);

System.out.printf(“%d 二进制 = %d 八进制”, binary, octal);

}

public static int convertBinarytoOctal(long binaryNumber)

{

int octalNumber = 0, decimalNumber = 0, i = 0;

while(binaryNumber != 0)

{

decimalNumber += (binaryNumber % 10) * Math.pow(2, i);

++i;

binaryNumber /= 10;

}

i = 1;

while (decimalNumber != 0)

{

octalNumber += (decimalNumber % 8) * i;

decimalNumber /= 8;

i *= 10;

}

return octalNumber;

}

}

运行该程序时,输出为:101001 二进制 = 51 八进制

此转换发生为:二进制到十进制

1 * 25 + 0 * 24 + 1 * 23 + 0 * 22 + 0 * 21 + 1 * 20 = 41

十进制到八进制

8 | 418 | 5 — 1

8 | 0 — 5

(51)

示例2:将八进制转换为二进制的程序

在此程序中,首先将八进制数从十进制转换为十进制。然后,将十进制数转换为二进制数。

public class OctalBinary {

public static void main(String[] args) {

int octal = 67;

long binary = convertOctalToBinary(octal);

System.out.printf(“%d in octal = %d 二进制”, octal, binary);

}

public static long convertOctalToBinary(int octalNumber)

{

int decimalNumber = 0, i = 0;

long binaryNumber = 0;

while(octalNumber != 0)

{

decimalNumber += (octalNumber % 10) * Math.pow(8, i);

++i;

octalNumber/=10;

}

i = 1;

while (decimalNumber != 0)

{

binaryNumber += (decimalNumber % 2) * i;

decimalNumber /= 2;

i *= 10;

}

return binaryNumber;

}

}

运行该程序时,输出为:67 in octal = 110111 二进制

此转换发生为:八进制到十进制

6 * 81 + 7 * 80 = 55

十进制到二进制

2 | 552 | 27 — 1

2 | 13 — 1

2 | 6  — 1

2 | 3  — 0

2 | 1  — 1

2 | 0  — 1

(110111)

    原文作者:童广
    原文地址: https://blog.csdn.net/weixin_36344678/article/details/114069522
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞