JAVA基础:八进制,十六进制表示

原帖:点击打开链接

作者:Simon.C


可以使用八进制、十六进制的类型:long, int, short, byte 

八进制表示:以0作为前缀,数码有0,1,2,3,4,5,6,7,逢8进位 
    如:8(十进制)-->010(八进制) 

十六进制表示:以0x作为前缀,数码有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,逢16进位 
    如:16(十进制)-->0x10(十六进制) 


二进制与十进制的换算: 
    若有n位(n=1,2,3,4,...)的2进制数,则十进制值为: 
    X(n) * 2^(n-1) + X(n-1) * 2^(n-2) + ... + X(3) * 2^2 + X(2) * 2^1 + X(1) * 1 
    X(n)是指第n位上的数码 
    如:1101 --> 1 * 2^3 + 1 * 2^2 + 0 * 2^1 + 1 = 13 

八进制与十进制的换算: 
    若有n位(n=1,2,3,4,...)的8进制数,则十进制值为: 
    X(n) * 8^(n-1) + X(n-1) * 8^(n-2) + ... + X(3) * 8^2 + X(2) * 8^1 + X(1) * 1 
    X(n)是指第n位上的数码 
    如:0123 --> 1 * 8^2 + 2 * 8 + 3 = 83 

十六进制与十进制的换算: 
    若有n位(n=1,2,3,4,...)的16进制数,则十进制值为: 
    X(n)*16^(n-1)+X(n-1)*16^(n-2)+...+X(3)*16^2+X(2)*16^1+X(1)*1 
    X(n)是指第n位上的数码 
    如:0x123 --> 1 * 16^2 + 2 * 16 + 3 = 291

猜你喜欢

转载自blog.csdn.net/u010857795/article/details/53939446