欢迎访问宙启技术站
智能推送

Java函数如何将十进制数转换为二进制或十六进制

发布时间:2023-07-06 06:05:02

在Java中,可以使用内置的方法将十进制数转换为二进制或十六进制。下面将分别介绍如何进行转换。

1. 十进制转二进制:

Java提供了Integer类的toBinaryString静态方法,用于将十进制数转换为二进制字符串。下面是示例代码:

int decimalNumber = 10;
String binaryString = Integer.toBinaryString(decimalNumber);
System.out.println(binaryString);

输出结果为:1010

2. 十进制转十六进制:

Java提供了Integer类的toHexString静态方法,用于将十进制数转换为十六进制字符串。下面是示例代码:

int decimalNumber = 255;
String hexadecimalString = Integer.toHexString(decimalNumber);
System.out.println(hexadecimalString);

输出结果为:ff

如果需要自己手动实现十进制转换为二进制或十六进制的算法,可以使用以下方法:

1. 十进制转二进制:

可以使用循环除以2的方法,依次得到余数,并把余数按倒序排列即可得到二进制数。

int decimalNumber = 10;
StringBuilder binaryBuilder = new StringBuilder();

while (decimalNumber != 0) {
    int remainder = decimalNumber % 2;
    binaryBuilder.append(remainder);
    decimalNumber = decimalNumber / 2;
}

String binaryString = binaryBuilder.reverse().toString();
System.out.println(binaryString);

输出结果为:1010

2. 十进制转十六进制:

可以使用循环除以16的方法,依次得到余数,并按照规则将余数转换为对应的十六进制字符。

int decimalNumber = 255;
StringBuilder hexadecimalBuilder = new StringBuilder();

while (decimalNumber != 0) {
    int remainder = decimalNumber % 16;
    if (remainder < 10) {
        hexadecimalBuilder.append((char) (remainder + '0'));
    } else {
        hexadecimalBuilder.append((char) (remainder - 10 + 'a'));
    }
    decimalNumber = decimalNumber / 16;
}

String hexadecimalString = hexadecimalBuilder.reverse().toString();
System.out.println(hexadecimalString);

输出结果为:ff

以上就是在Java中将十进制数转换为二进制或十六进制的方法。可以根据具体需求选择使用内置方法还是手动实现转换算法。