JAVA——将一串数字转换为二进制

       【题目描述】

       本案例要求编写一个程序,从键盘录入一个字符串,将字符串转换为二进制数。比较简单的题目是,在转换时,将字符串中的每个字符单独转换成一个二进制数。在这里,我们增加难度,要求你输入一串数字,将这串数字的十进制值转换成二进制并输出。在样例实现时,可以使用Math类、String类、Scanner类等JAVA  API常用方法。

       输入样例:37

       输出样例:100101

       【解题思路】

       首先要定义一个字符串,并输入一串数字。将字符串中的数字转换为可运算的普通数字,随后通过除留取余法转换为二进制数字,将二进制的各位数字保存在一个整型数组当中,最后逐位输出。

       【解题过程】

       (1)定义字符串并输入。

Scanner scan = new Scanner(System.in);
String str = scan.nextLine();

       (2)将字符串转换为普通数字,并保存在一个double类型的数据中。在这一环节我们用到了Math类中的pow方法,该方法的返回值为一个double类型数据,因此我们在这里保存在一个double类型数据s中。在后续的程序中,如果我们需要运用到数据s,我们可以使用类型强转。

double s = 0;
Math m = null;
for(int i = str.length()-1,j = 0;i >= 0;
Java编程中,如果我们想要将十进制数手动转换二进制到九进制的数值表示,并且不依赖于内置方法(如`Integer.toString(int, radix)`等),可以采用以下步骤: ### 手动实现思路 1. **确定基数**:首先明确需要成的目标基数(radix)。比如从2至9之间的一个整数。 2. **循环除法取余操作**: - 初始化结果字符串为空串。 - 只要待数字大于0,则不断将其对目标基数求模运算获取当前位值并保存下来; - 然后再让该数字本身做一次整除此基数的操作更新自身值继续下一轮计算直到原数值降为零为止。 下面是一个简单的例子演示如何完成上述过程: ```java public class DecimalToRadix { public static String convertDecimalToBase(int decimalNumber, int base){ if(decimalNumber == 0) return "0"; StringBuilder result = new StringBuilder(); boolean isNegative = (decimalNumber < 0); // 对负数进行处理 decimalNumber = Math.abs(decimalNumber); while (decimalNumber > 0){ result.append((char)(decimalNumber % base + '0')); decimalNumber /= base; } if(isNegative) result.append('-'); return result.reverse().toString(); } } ``` 在这个程序里我们创建了一个名为 `convertDecimalToBase` 的函数用于接受两个参数——一个是要转换的十进制整数、另一个是指定的基础系统。通过这个自定义功能我们可以轻松地把任意范围内的正负十进制整数转换为我们所需要的形式而不必求助任何现成库函数的帮助! 例如对于输入58 和7 ,输出将是"114"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值