(2)Long类中的下列方法得到整数的各种进制的字符串表示。 public static String toBinaryString (long i) (返回整数i的二 进制表示) public static String toOctal String (long i) (返回整数i的八进制表示) public static String toHexString (long i) ( ) (返回整数i的十六进制表示) public static String toString ( long i , int p ) (返回整数i的 p进制表示) 编程输出12345的二进制、八进制、十六进制和六进制表示。
时间: 2024-02-13 15:06:22 浏览: 31
可以使用Long类中的toBinaryString()、toOctalString()、toHexString()和toString()方法,分别得到整数的二进制、八进制、十六进制和任意进制的字符串表示。具体实现如下:
```java
public class Test {
public static void main(String[] args) {
long i = 12345;
System.out.println(Long.toBinaryString(i));
System.out.println(Long.toOctalString(i));
System.out.println(Long.toHexString(i));
System.out.println(Long.toString(i, 6));
}
}
```
输出结果如下:
```
11000000111001
30071
3039
3015
```
注意,Long.toString()方法需要传入两个参数,第一个参数是要转换的整数,第二个参数是要转换的进制数。这里我们传入了6,得到的是12345的6进制表示。
相关问题
定义一个方法自己实现toBinaryString方法的效果,将一个十进制整数转换成字符串表示的二进制。java
可以使用Java内置的Integer类的toBinaryString方法将十进制整数转换成二进制字符串,也可以自己实现一个toBinaryString方法,代码如下:
```java
public static String toBinaryString(int decimal) {
if (decimal == 0) {
return "0";
}
StringBuilder binary = new StringBuilder();
while (decimal > 0) {
binary.insert(0, decimal % 2);
decimal /= 2;
}
return binary.toString();
}
```
这个方法首先判断输入的十进制整数是否为0,如果是则直接返回"0"字符串。否则,使用StringBuilder类来保存转换后的二进制数字,每次取出十进制整数的最后一位(即二进制数的最低位),并将其插入到StringBuilder的开头。然后将十进制整数除以2,向下取整,以便获取下一位二进制数字。循环直到十进制整数变为0,最终将StringBuilder转换为字符串并返回即可。
Java整数转二进制字符串带前导0的函数
Java中可以使用Integer.toBinaryString()函数将整数转换为二进制字符串,该函数会自动忽略前导0,如果需要保留前导0,可以使用String.format()函数来实现,具体实现代码如下:
```java
/**
* 将整数转换为带前导0的二进制字符串
* @param num 整数
* @param len 二进制字符串长度
* @return 带前导0的二进制字符串
*/
public static String intToBinaryString(int num, int len) {
String binaryString = Integer.toBinaryString(num);
return String.format("%0" + len + "d", Integer.parseInt(binaryString));
}
```
其中,num是需要转换的整数,len是二进制字符串的长度,函数返回一个带前导0的二进制字符串。例如,如果想要将整数5转换为长度为8的二进制字符串,可以这样调用函数:
```java
String binaryString = intToBinaryString(5, 8);
System.out.println(binaryString); // 输出00000101
```