十六进制转换十进制 八进制转换十进制 java

package com.zalk.cn.engTool;

/**
 * @author 进制转换
 *
 */
public class cons {
    
    @SuppressWarnings("unused")
    private long hexTodec(int[] serial) {
        // TODO 十六进制转换十进制
        long result = 0;
        for(int i=(serial.length-1);i>=0;i--) {//从高位到低位
            long iserial = serial[i]&0xff;//按位与
            long k = iserial<<((3-i)*8);//根据位置进行进位
            result+= k;
        }
        return result;
    }
    
    @SuppressWarnings("unused")
    private long octTodec(int[] serial) {
        // TODO 八进制转换十进制
        long result = 0;
        
        for(int i=(serial.length-1);i>=0;i--) {//从高位到低位
            long iserial = serial[i]&(077);
            long k = iserial<<((3-i)*6);
            result+= k;
        }
        return result;
    }
    public static void main(String[] args) {
        int[] serialH = { 0xE9, 0xA2,  0xE4,  0xF3};
        int[] serialO = { 035, 052,  026,  045};
//      System.out.println(0xE9A2E4F3&0xffffffff);
        System.out.println(new cons().hexTodec(serialH ));
        System.out.println(new cons().octTodec(serialO));
    }
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。