十进制和各种进制之间的转换

写了一个程序用于十进制和二进制,八进制,十六进制之间的转换

public class Transaction {
	
	//十进制转为二进制
	public static String toTwo(int num) {
		return Trans(num,1,1);
	}
	//十进制转为八进制
	public static String toEight(int num) {
		return Trans(num,7,3);
	}
	//十进制转为十六进制
	public static String toSixteen(int num) {
		return "0x"+Trans(num,15,4);
	}
	public static String Trans(int num,int base,int offset) {
		//创建表
		char[] ch= {'0','1','2','3','4','5','6','7',
				'8','9','A','B','C','D','E','F'};
		//创建临时容器
		char[] arr=new char[32];
		//创建操作临时容器的角标
		int index=arr.length;
		//通过循环对num进行& >>等运算
		while(num!=0) {
			int temp=num & base ;
			//根据&运算后的结果最为角标查表,获取相应的字符
			//并将字符存储到临时容器中
			arr[--index]=ch[temp];
			//对num进行右移
			num=num>>>offset;
		}
		return toString(arr,index);
	}
	public static String toString(char[] arr,int index) {
		String temp="";
		for(int x=index;x<arr.length;x++) {
			temp=temp+arr[x];
		}
		return temp;
	}
	
	public static void main(String[] args) {
		int num=100;
		String str=toTwo(num);
		System.out.println("二进制为"+str);
		String str2=toEight(num);
		System.out.println("八进制为"+str2);
		String str3=toSixteen(num);
		System.out.println("十六进制为"+str3);
	}

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值