您的位置:首页 > 编程语言 > Java开发

进制转换补0工具类

2016-01-13 16:22 411 查看
public class NumberUtil {

private final static char[] HEX = "0123456789abcdef".toCharArray();

/**
* 将 int 类型数据转成二进制的字符串,不足 int 类型位数时在前面添“0”以凑足位数
* @param num
* @return
*/
public static String toFullBinaryString(int num) {
char[] chs = new char[Integer.SIZE];
for(int i = 0; i < Integer.SIZE; i++) {
chs[Integer.SIZE - 1 - i] = (char)(((num >> i) & 1) + '0');
}
return new String(chs);
}

/**
* 将 int 类型数据转成十六进制的字符串,不足 int 类型位数时在前面添“0”以凑足位数
* @param num
* @return
*/
public static String toFullHexString(int num) {
char[] chs = new char[Integer.SIZE / 4];
for(int i = 0; i < chs.length; i++) {
chs[chs.length - 1 - i] = HEX[(num >> (i * 4)) & 0xf];
}
return new String(chs);
}

/**
* 将 long 类型数据转成二进制的字符串,不足 long 类型位数时在前面添“0”以凑足位数
* @param num
* @return
*/
public static String toFullBinaryString(long num) {
char[] chs = new char[Long.SIZE];
for(int i = 0; i < Long.SIZE; i++) {
chs[Long.SIZE - 1 - i] = (char)(((num >> i) & 1) + '0');
}
return new String(chs);
}

/**
* 将 long 类型数据转成十六进制的字符串,不足 long 类型位数时在前面添“0”以凑足位数
* @param num
* @return
*/
public static String toFullHexString(long num) {
char[] chs = new char[Long.SIZE / 4];
for(int i = 0; i < chs.length; i++) {
chs[chs.length - 1 - i] = HEX[(int)((num >> (i * 4)) & 0xf)];
}
return new String(chs);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java