继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Java十六进制补0(实例)

浮生未歇2
关注TA
已关注
手记 5
粉丝 1
获赞 23

实例代码

(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

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP