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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值