• Java 进制转换


    package com.test;
    
    
    public class A {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		//其他进制转10进制
    	    System.out.println("2转10 :"+ Integer.valueOf("1010",2).toString());
    	    System.out.println("8转10 :"+ Integer.valueOf("125",8).toString() );
    	    System.out.println("16转10:"+ Integer.valueOf("ABCDEF",16).toString()); 
    		//10进制转其他进制
    		int a = 11;
    		System.out.println("10转2 :"+ Integer.toBinaryString(a));
    		System.out.println("10转8 :"+ Integer.toOctalString(a));
    		System.out.println("10转16:"+ Integer.toHexString(a));
    		
    		//16进制字符串
    		String hex = "5a5a";
    		System.out.println("16进制字符串转字节数组:");
    		int len = hex.length();
    	    byte[] hexbytes = new byte[len / 2];
    	    for (int i = 0; i < len; i += 2) {
    	        //16进制  16位, 字节8位, 所以16进制1位 占  字节的4位, 两位组成8位字节
    	    	hexbytes[i / 2] = (byte) ((Character.digit(hex.charAt(i), 16) << 4) + Character.digit(hex.charAt(i + 1), 16));
    	    }
    	    
    	    //字节数组转16进制
    	    System.out.println("字节数组转16进制:");
    	    hex = null;
    	    for (int i = 0; i < hexbytes.length; i++) {
    	    	hex = Integer.toString(hexbytes[i] & 0xff, 16);
    	    	if(hex.length() == 1)
    	    		hex = "0" + hex;
    	    	System.out.print(hex+",");
    		}
    		
    	    //字节
    		byte b = hexbytes[0];
    		char c = (char) (((hexbytes[0] & 0xFF) << 8) | (hexbytes[1] & 0xFF)); 
    		System.out.println(c);
    		
    		byte[] intbytes = {0x00,0x00,0x00,0x31};
    		//高位在前,低位在后  字节8位,int32位,所以4个字节为1个int
    		int chunktype = (int)(intbytes[0] & 0xff)<<24 | (intbytes[1] & 0xff)<<16 | (intbytes[2] & 0xff)<<8 | (intbytes[3] & 0xff);
    		System.out.println("字节数组转int:"+chunktype);
    		
    	}
    	
    	/**
    	 * 自动补零
    	 * @param code
    	 * @param num
    	 * @return
    	 */
    	private static String autoGenericCode(String code, int num) {
            // 保留num的位数
            // 0 代表前面补充0
            // d 代表参数为正数型 
    		code = String.format("%0" + num + "d", Integer.parseInt(code));
            return code;
        }
    	
    
    }
    

      

  • 相关阅读:
    排序算法之归并排序(Merge Sort)
    排序算法之选择排序
    [BUUCTF]REVERSE——firmware
    [BUUCTF]REVERSE——[WUSTCTF2020]Cr0ssfun
    [BUUCTF]PWN——hitcontraining_magicheap
    [BUUCTF]PWN——ciscn_2019_n_3
    [BUUCTF]PWN——[V&N2020 公开赛]easyTHeap
    [BUUCTF]PWN——babyfengshui_33c3_2016
    [BUUCTF]PWN——babyheap_0ctf_2017
    CTFHub[PWN技能树]——栈溢出
  • 原文地址:https://www.cnblogs.com/eason-d/p/8024584.html
Copyright © 2020-2023  润新知