java 左边补0_Java十六进制补0(实例)

实例代码

(b <= 0xf)

while((b = in.read())!=-1){

if(b <= 0xf){

//单位数前面补0

System.out.print("0");

}

System.out.print(Integer.toHexString(b)+" ");

if(i++%10==0){

System.out.println();

}

}

问题:

(b <= 0xf)是什么意思呢?~

首先,了解什么是十六进制

十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制,一般用数字0到9和字母A到F表示(其中:A~F即10~15)。

0x是16进制前缀,例0x1315,0x13F

现在解答问题

0x表示16进制,一个字节用16进制表示就一个两位或一位的数,例如a,0f,af,ae,3b,e,c等,其中一位的可以补0(一位的用0补足),例如0a,0e,0c。当只有一位时,F(F=15)就是最大的,所以只要比16进制的F小或相等,一个字节转换为16进制就一定只有一位,这个时候就需要对其补0才能使两位数,所以表示为b <= 0xf

//使用1字节就可以表示b

public static String numToHex8(int b) {

return String.format("%02x", b);//2表示需要两个16进行数

}

//需要使用2字节表示b

public static String numToHex16(int b) {

return String.format("%04x", b);

}

//需要使用4字节表示b

public static String numToHex32(int b) {

return String.format("%08x", b);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值