利用栈演示二进制数转十进制

/**
 * 利用栈演示二进制数转十进制
 */
package com.test;
import java.util.Scanner;
import java.util.Stack;

public class jinzhizhuanhuan {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("请输入二进制数");
		Scanner scan=new Scanner(System.in);
		String str=scan.next();
		char ch[]=str.toCharArray();
		int ar[]=new int[ch.length];
		//调用栈
		  Stack<Integer> stack=new Stack<Integer>();
		for (int i = 0; i < ch.length; i++) {
			ar[i]=Integer.parseInt(String.valueOf(ch[i]));
//			System.out.println(ar[i]);
			stack.push(ar[i]);
		}
		int sum=0;
		for (int i = 0; i < ar.length; i++) {
			sum+=stack.pop()*Math.pow(2, i);
		}
		System.out.println("转换为十进制是\n"+sum);	  
	}
}



    原文作者:进制转换
    原文地址: https://blog.csdn.net/langbinhui/article/details/22104861
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞