蓝桥杯----10转16进制

  • 补上昨天的代码,昨天做的是10进制转16进制的算法,这个算法是由于最近要考单片机考试了,其中有一个题,因为单片机编程中一般都是16进制,所以涉及到进制转换,我就想怎样用程序写出来,在和女朋友激烈的讨论后得出核心步骤,最后通过自己优化得到了下面的版本。
  • 其实一开始我们的想法是准备将除以16算出的余数入栈的,因为栈的特点是先入后出,正好符合我们进制转换时的算法规律,后来一想没必要,我们直接将数字转化成对应的char类型值,最后再将字符串拼接起来就可以了。
  • 一开始以为很简单,一顿琢磨之后发现,还是有些复杂。
public class Main103 {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		int y=0;
		char c=' ';
		String s=" ";
		while (n%16!=0||n/16!=0) {
			y=n%16;
			if(y/10==1){
				c=(char) (y%10+65);//65表示A
			}else c=(char)(y+48);//48表示0
			s=c+s;
			n=n/16;
		}System.out.println(s);
	}
}

大学生一枚,多多指教。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值