java 数字进制间转换(2,8,10,16)

7 篇文章 0 订阅
package com.wzg.common.Util;

import  org.apache.commons.lang.StringUtils;


public class AryConvert {

	/**
	 * @Title: main
	 * @Description:
	 * @param:
	 * @return void 
	 * @user: wangzg
	 * @Date:2014-9-5
	 * @throws
	 */
	public static void main(String[] args) {

		int num = 12;
        System.out.println(convert10To2(num));
        System.out.println(convert10To2(num,8,'0'));
        
        System.out.println(convert10To8(num));
        System.out.println(convert10To8(num,8,'0'));
        
        System.out.println(convert10To16(num));
        System.out.println(convert10To16(num,8,'0'));
        
        
        System.out.println(convert2To10("0000100"));
        System.out.println(convert8To10("0000100"));
        System.out.println(convert16To10("0000100"));
        
	}
	/**
	 * 十进制转换为二进制
	 * @Title: convert10To2
	 * @Description:
	 * @param: [source:十进制数字]
	 * @return 二进制字符串
	 * @user: wangzg
	 * @Date:2014-9-5
	 * @throws
	 */
	public static String convert10To2(int source){
		String result = Integer.toBinaryString(source);
		return result;
	}
	
	/**
	 * 十进制转换为二进制
	 * @Title: convert10To2
	 * @Description:
	 * @param:[source:十进制数字,width:转换后二进制位数,padChar:补位字符]
	 * @return String 二进制字符串
	 * @user: wangzg
	 * @Date:2014-9-5
	 * @throws
	 */
	public static String convert10To2(int source,int width,char padChar){
		String result = Integer.toBinaryString(source);
		
		if(width > result.length())
			result = StringUtils.leftPad(result, width, padChar);

		return result;
	}
	/**
	 * 十进制转换为八进制
	 * @Title: convert10To8
	 * @Description:
	 * @param:[source:十进制数字]
	 * @return String 八进制字符串
	 * @user: wangzg
	 * @Date:2014-9-5
	 * @throws
	 */
	public static String convert10To8(int source){
		String result = Integer.toOctalString(source);
		return result;
	}
	
	/**
	 * 十进制转换为八进制
	 * @Title: convert10To8
	 * @Description:
	 * @param:[source:十进制数字,width:转换后八进制位数,padChar:补位字符]
	 * @return String 八进制字符串
	 * @user: wangzg
	 * @Date:2014-9-5
	 * @throws
	 */
	public static String convert10To8(int source,int width,char padChar){
		String result = Integer.toOctalString(source);
		
		if(width > result.length())
			result = StringUtils.leftPad(result, width, padChar);

		return result;
	}
	
	/**
	 * 十进制转换为十六进制
	 * @Title: convert10To16
	 * @Description:
	 * @param:[source:十进制数字]
	 * @return String 十六进制字符串
	 * @user: wangzg
	 * @Date:2014-9-5
	 * @throws
	 */
	public static String convert10To16(int source){
		String result = Integer.toHexString(source);
		return result;
	}
	
	/**
	 * 十进制转换为十六进制
	 * @Title: convert10To8
	 * @Description:
	 * @param:[source:十进制数字,width:转换后十六进制位数,padChar:补位字符]
	 * @return String 十六进制字符串
	 * @user: wangzg
	 * @Date:2014-9-5
	 * @throws
	 */
	public static String convert10To16(int source,int width,char padChar){
		String result = Integer.toHexString(source);
		
		if(width > result.length())
			result = StringUtils.leftPad(result, width, padChar);

		return result;
	}
	
	/**
	 * 二进制字符串转化为十进制数字
	 * @Title: convert2To10
	 * @Description:
	 * @param:[source:二进制字符串]
	 * @return int 十进制数字
	 * @user: wangzg
	 * @Date:2014-9-5
	 * @throws
	 */
	public static int convert2To10(String source){
		int result = Integer.parseInt(source, 2);
		return result;
	}
	
    /**
     * 八进制字符串转化为十进制数字
     * @Title: convert8To10
     * @Description:
     * @param:[source:八进制字符串]
	 * @return int 十进制数字
     * @user: wangzg
     * @Date:2014-9-5
     * @throws
     */
	public static int convert8To10(String source){
		int result = Integer.parseInt(source, 8);
		return result;
	}
	
	/**
	 * 十六进制字符串转化为十进制数字
	 * @Title: convert16To10
	 * @Description:
	 * @param:[source:十六进制字符串]
	 * @return int 十进制数字 
	 * @user: wangzg
	 * @Date:2014-9-5
	 * @throws
	 */
	public static int convert16To10(String source){
		int result = Integer.parseInt(source, 16);
		return result;
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值