首页 > 试题广场 >

进制转换

[编程题]进制转换
  • 热度指数:35586 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。

输入描述:
多组数据,每行为一个长度不超过30位的十进制非负整数。
(注意是10进制数字的个数可能有30个,而非30bits的整数)


输出描述:
每行输出对应的二进制数。
示例1

输入

0
1
3
8

输出

0
1
11
1000
import java.math.BigInteger;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		while (in.hasNext()) {
			BigInteger s = in.nextBigInteger();
			String str = s.toString(2);
			System.out.println(str);
		}
		in.close();
	}
}


发表于 2024-02-15 19:22:27 回复(0)

Java大整数API

import java.util.Scanner;
import java.math.BigInteger;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            String num = in.next();
            BigInteger b = new BigInteger(num);
            System.out.println(b.toString(2));
        }
    }
}
发表于 2023-07-08 11:21:03 回复(0)
import java.util.Scanner;
import java.math.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            String a = in.nextLine();
            System.out.println(new BigInteger(a).toString(2));
        }
    }
}
发表于 2021-10-14 17:58:12 回复(0)

java提供了大整数处理方法,我们一定要学会使用,上机复试可以使用Java的,这样我们会比用C++的节约非常多的时间,而且这就是一个送分题,一定不能在这种题目上面出错!!!!

import java.util.*;
import java.math.*;
public class Main{
    public static void main(String[] args){
        Scanner cin=new Scanner(System.in);
        while(cin.hasNext()){
            BigInteger s=cin.nextBigInteger();
            String ans=s.toString(2);
            System.out.println(ans);
        }
    }
}
发表于 2020-04-10 20:05:36 回复(0)
Java 解法 
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) System.out.println( scanner.nextBigInteger().toString(2));
    }
}


发表于 2020-03-18 10:20:23 回复(0)
import  java.util.*;
import java.math.BigInteger;
public class Main {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        while (in.hasNext()){
            String str=in.nextLine();
            BigInteger a=new BigInteger(str,10);
            System.out.println(a.toString(2));
        }

    }

发表于 2018-04-07 14:18:49 回复(3)
import java.math.BigInteger;
import java.util.Scanner;

/**
 * Created by fhqplzj on 17-2-1 at 下午1:35.
 */
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextInt()) {
            int m = scanner.nextInt();
            int n = scanner.nextInt();
            String x = scanner.next();
            System.out.println(new BigInteger(x, m).toString(n));
        }
    }
}

发表于 2017-02-02 10:28:08 回复(1)
import java.math.BigInteger;
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNextLine()){
String str=sc.nextLine();
String[] str_MN=str.split(" ");
int M=Integer.parseInt(str_MN[0]);
int N=Integer.parseInt(str_MN[1]);
String str_num=sc.nextLine();
System.out.println(changeHex(str_num,M,N));
}
}
public static String changeHex(String S, int M, int N){
BigInteger Sum = BigInteger.ZERO;
String Result="";
for(int i=0;i<=S.length()-1;i++){
int Ch=S.charAt(S.length()-1-i);
if(Ch>='A' && Ch <='Z')
Ch = Ch-'A'+10;
else
Ch= Ch-'0';
Sum=Sum.add(BigInteger.valueOf(Ch).multiply(BigInteger.valueOf(M).pow(i)));
}
BigInteger n=BigInteger.valueOf(N);
for(;Sum.compareTo(BigInteger.ZERO)!=0;Sum = Sum.divide(n)){

int IntVal=Sum.mod(n).intValue();
if(IntVal>=10)
IntVal=IntVal-10+'a';
else
IntVal=IntVal+'0';
Result=(char)IntVal+Result;
}
return Result;
}
}
做这道题的时候,一开始用int型数据类型,总是测试不通过,这是没有按照要求做题, 注意题目需要大数据,然后该成BigInteger类型后,所有的数据均测试成功。

编辑于 2016-10-27 20:39:04 回复(0)