java十进制转二进制
时间: 2023-07-02 07:17:08 浏览: 93
将十进制数转换为二进制数的方法是通过不断地进行除以2的运算,直到商为0为止,然后将每次得到的余数倒序排列即可。下面是 Java 代码示例:
```java
public static String decimalToBinary(int decimal) {
StringBuilder binary = new StringBuilder();
while (decimal != 0) {
int remainder = decimal % 2;
binary.append(remainder);
decimal /= 2;
}
return binary.reverse().toString();
}
```
其中,`decimal` 表示需要转换的十进制数,返回值是对应的二进制字符串。
相关问题
java 十进制转二进制
有多种方法可以在Java中将十进制数转换为二进制数。一种方法是使用Integer类的toString()方法,该方法接受两个参数:要转换的十进制数和基数。对于将十进制转换为二进制,我们可以将基数设置为2。下面是一个示例程序:
```java
import java.util.Scanner;
public class JavaD2B {
public static void main(String[] args) {
int number;
Scanner sc = new Scanner(System.in);
System.out.println("Enter a decimal number: ");
number = sc.nextInt();
System.out.println("Binary number is " + Integer.toString(number, 2));
}
}
```
另一种方法是使用Integer类的toBinaryString()方法,该方法直接将十进制数转换为二进制数。下面是一个示例程序:
```java
import java.util.Scanner;
public class JavaD2B {
public static void main(String[] args) {
int number;
Scanner sc = new Scanner(System.in);
System.out.println("Enter a decimal number: ");
number = sc.nextInt();
System.out.println("Binary number is " + Integer.toBinaryString(number));
}
}
```
如果你想了解更多关于十进制转二进制的方法,可以参考下面的示例程序。这个程序使用了辗转相除法来实现转换:
```java
import java.util.Scanner;
public class Number2Binary {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while (true) {
System.out.print("Input a number: ");
int number = input.nextInt();
int number2;
// 如果是负数,需要加上2^31次方
if (number < 0) {
number2 = (int) (Math.pow(2, 31) + number);
} else {
number2 = number;
}
String binary = "";
// 通过辗转相除法,求出二进制数,保存在binary中
int shang = number2;
int yu;
int count = 0;
while (shang != 0) {
yu = shang % 2;
shang /= 2;
count++;
if (count % 4 == 0) {
binary = "_" + yu + binary;
} else {
binary = yu + binary;
}
}
// 不够32位,需要补齐
while (count < 31) {
count++;
if (count % 4 == 0) {
binary = "_" + 0 + binary;
} else {
binary = 0 + binary;
}
}
// 判断符号位
if (number < 0) {
binary = 1 + binary;
} else {
binary = 0 + binary;
}
System.out.println(binary);
}
}
}
```
java十进制转二进制代码
下面是使用Java编写的十进制转二进制的代码:
```java
public class DecimalToBinary {
public static void main(String[] args) {
int decimalNumber = 17;
String binaryNumber = decimalToBinary(decimalNumber);
System.out.println("二进制表示:" + binaryNumber);
}
public static String decimalToBinary(int decimal) {
if (decimal == 0) {
return "0";
}
StringBuilder binary = new StringBuilder();
while (decimal > 0) {
binary.insert(0, decimal % 2); // 从右到左,逐位计算二进制值
decimal /= 2;
}
return binary.toString();
}
}
```
在此示例中,我们将整数17转换为二进制。我们创建了一个名为`decimalToBinary`的静态方法,接受一个十进制数作为参数,返回一个字符串,表示该数的二进制值。
在方法的主体中,我们首先检查特殊情况,即当输入为0时,直接返回字符串"0"。
然后,我们使用一个`StringBuilder`对象`binary`来构建二进制字符串。我们使用`while`循环,通过反复对输入的十进制数进行模2运算和整除2运算,计算每一位的二进制值,并将其追加到`binary`字符串的开头。最后,我们将`binary`转换为字符串并返回。
在`main`方法中,我们定义一个整数变量`decimalNumber`,并将其设置为我们要转换的十进制数(在此示例中为17)。然后,我们调用`decimalToBinary`方法,将返回的二进制值打印在控制台上。