admin 管理员组

文章数量: 1087652

十进制转32位二进制(Java)

十进制转32位二进制(Java)

  • 十进制转32位二进制(Java)
    • 一、题目
    • 二、代码实现
    • 三、测试结果

十进制转32位二进制(Java)

一、题目

输入一个正整数N,输出一个32位的二进制数(例如输入2,输出前面30个0+10)
如下图所示

二、代码实现

text3.java


package ch03;import java.util.Scanner;
import ch03.SqStack;public class Test3 {/*** @author 春* @num ……* @text 2.输入一个正整数N,输出一个32位的二进制数(例如输入2,输出30个0+10)*/public static void main(String[] args) throws Exception {Scanner scan = new Scanner(System.in);System.out.print("输入十进制数为:");int Dec = scan.nextInt();SqStack test = new SqStack(32);test.bin(Dec);System.out.print("输出的二进制为:");test.display();}}

SqStack.java

package ch03;public class SqStack implements IStack {private Object[] stackElem;private int top;boolean b;public SqStack(int maxSize) {top = 0;stackElem = new Object[maxSize];}public void clear() {top = 0;}public boolean isEmpty() {return top == 0;}public int length() {return top;}public Object peek() {if (!isEmpty())return stackElem[top - 1];elsereturn null;}public Object pop() {if (isEmpty())return null;elsereturn stackElem[--top];}public void push(Object x) throws Exception {if (top == stackElem.length)throw new Exception("栈满");elsestackElem[top++] = x;}public void display() {if(top < 32){for(int i=1; i<= 32-top; i++){System.out.print("0");}}for (int i = top - 1; i >= 0; i--)System.out.print(stackElem[i].toString() + "");}public void bin(int x){int n = 0;while(x > 0){n = x%2;try {push(n);} catch (Exception e) {e.printStackTrace();}x = x / 2;}}}

IStack.java

package ch03;public interface IStack {public void clear();public boolean isEmpty();public int length();public Object peek();public void push(Object x) throws Exception;public Object pop();
}

三、测试结果

本文标签: 十进制转32位二进制(Java)