个人答案:
(1)java
import java.util.Scanner;
public class 二进制 {
public static void main(String[] args)
{
//输入十进制整数
Scanner sc = new Scanner(System.in);
System.out.println("Please enter a decimal integer:");//输入需要转化的十进制数
int num = sc.nextInt();
//定义一个空字符串,用来存放二进制数
String str = "";
//转化为二进制数
//当十进制数不等于零的时候循环继续
while (num != 0) {
int i = num%2; //i用来存放十进制数除二的余数
str = i + str; //因为十进制数转化为二进制数,最后余数是要反序的,所以是i加到字符串str的前面
num = num/2; //每次取余一次之后都要给十进制数除二,这样才有循环结束的条件
}
System.out.println("The converted binary number is:"+str);//输出转化好的二进制数
}
}
(2)python
a=eval(input('请您输入十进制数:'))
m=''
while a>0:
m+=str(a%2) #a对2求余,添加到字符串m最后
a=a//2
print(m[::-1]) #反向输出
参考答案:
package chap2.test;
import java.util.Scanner;
public class Test1 {
/**
* 二进制位查看器
*/
public static void main(String[] args) {
int n;
do{
Scanner sc=new Scanner(System.in);
System.out.println("Please input number:");
n=sc.nextInt();
for(int i=31;i>=0;i--){
if((n & (1<<i))!=0){
System.out.print("1");
}else{
System.out.print("0");
}
if((32-i)%8==0){
System.out.print(" ");
}
}
System.out.println();
}while(n!=0);
}
}