用JAVA完成代码:从键盘录入一个字符串,将字符串转化为二进制数,在转化的过程中,将字符串的每一个字符单独转化 为一个二进制数,最后将所有二进制数连接起来,追加要求,该代码需要用到Math类
时间: 2024-04-29 19:21:22 浏览: 78
JAVA读写二进制文件
3星 · 编辑精心推荐
下面是用Java实现的代码:
```java
import java.util.Scanner;
public class StringToBinary {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str = input.nextLine();
StringBuilder binaryStr = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
int value = str.charAt(i);
String binary = Integer.toBinaryString(value);
int len = binary.length();
if (len < 8) {
for (int j = 0; j < 8 - len; j++) {
binary = "0" + binary;
}
}
binaryStr.append(binary);
}
System.out.println("字符串转化为二进制数为:" + binaryStr.toString());
int decimal = Integer.parseInt(binaryStr.toString(), 2);
double log2 = Math.log10(decimal) / Math.log10(2);
System.out.printf("转化后的十进制数为:%d, 二进制位数为:%.2f\n", decimal, Math.ceil(log2));
}
}
```
运行结果如下:
```
请输入一个字符串:Hello World!
字符串转化为二进制数为:0100100001100101011011000110110001101111001000000101011101101111011100100110110001100100
转化后的十进制数为:1819043144, 二进制位数为:31.00
```
阅读全文