进制转换算法

来源:互联网 发布:网络用语吃辣条啥意思 编辑:程序博客网 时间:2024/05/02 00:07

问题:

设计算法,将一个十进制整数转换成二进制输出

问题描述:

对于任意整数,可以将其分成两个整数之和。第一个整数是能够被除数整除的部分,第二个整数是余数,即number=(number/divisor)*divisor+number mod divisor。先得到的余数是低位的,需要后输出;后得到的余数是高位的,需要先输出。这正好符合了栈结构。

代码实现:

package com.java.test;import java.util.Stack;public class Demo11 {public static void main(String[] args) {System.out.println("63的二进制表示:" + getBinary(63));}public static String getBinary(int decimal) {Stack<Integer> stack = new Stack<Integer>();//创建栈对象while(decimal != 0) {stack.push(decimal % 2);decimal = decimal /2;}StringBuilder sb = new StringBuilder();while(!stack.isEmpty()) {sb.append(stack.pop());}return sb.toString();}}


0 0
原创粉丝点击