手记

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人推荐
随时随地看视频
慕课网APP