编写一个Java程序,要求将十进制整数,十进制小数和十进制负数转化为二进制数
时间: 2024-09-19 19:14:09 浏览: 54
当然,以下是一个简单的Java程序,它使用内置的`Integer.toBinaryString()`、`Double.toString()`以及自定义的辅助函数来实现这个功能:
```java
import java.math.BigInteger;
public class DecimalToBinary {
// 将十进制整数转换为二进制字符串
public static String toBinary(int decimal) {
return Integer.toBinaryString(decimal);
}
// 将十进制小数转换为二进制字符串,通过先将小数乘以2取整再转换的方式获取整数部分的二进制表示
public static String toBinary(double decimal) {
BigInteger bi = new BigInteger(Double.toString(Math.abs(decimal)));
return bi.toString(2) + " (" + decimal + ")";
}
// 将十进制负数转换为二进制字符串,先取绝对值转换然后加上符号
public static String toBinaryNegative(int negativeDecimal) {
return "-" + toBinary(Math.abs(negativeDecimal));
}
public static void main(String[] args) {
int integer = 10;
double decimal = 3.7;
int negative = -25;
System.out.println("Binary for " + integer + ": " + toBinary(integer));
System.out.println("Binary for " + decimal + ": " + toBinaryDecimal(decimal));
System.out.println("Binary for " + negative + ": " + toBinaryNegative(negative));
}
}
```
在这个程序里,`toBinary()`用于处理整数,`toBinaryDecimal()`处理小数,并且`toBinaryNegative()`专门处理负数。
阅读全文