读书人

进制变换 转载

发布时间: 2012-07-04 19:33:55 作者: rapoo

进制转换 转载

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);    }}

?

读书人网 >软件架构设计

热点推荐