首页 > 试题广场 >

十进制 220 转换为二进制后为?

[单选题]

十进制 220 转换为二进制后为?

  • 11011010
  • 11100110
  • 11101000
  • 11011100
220=128+64+16+8+4
发表于 2019-04-12 11:23:08 回复(0)
220=128+64+16+8+4
发表于 2017-09-02 11:22:03 回复(0)

package 栈的利用;


import java.util.Scanner;

import java.util.Stack;

/***

 * 数值转换

 * 要求:将十进制数转换成指定进制数

 * 解决:利用栈的思想将每次除余得值存在栈中,最后出栈输出

 * 

 * */

public class 数值转换 {

private static Scanner in;


public static void main(String[] args) {

in = new Scanner(System.in);

while (true) {

System.out.println("输入十进制:");

String num = in.next();

System.out.println("转换到n进制:");

int n = in.nextInt();

String result = numTransform(num,n);

System.out.println(result);

}

}


private static String numTransform(String str, int n) {

//int a = Integer.valueOf("23").intValue();

int num = Integer.parseInt(str);

Stack<Integer> stack = new Stack<Integer>(); 

while(true){

stack.push((int)num%n);

if((int)(num/n)==0){

break;

}else{

num /= n;

}

}

StringBuffer res = new StringBuffer();

while(!stack.isEmpty()){

res.append(stack.pop());

}

return res.toString();

}

}

发表于 2017-08-04 10:29:33 回复(0)