为了账号安全,请及时绑定邮箱和手机立即绑定

补零后,输出出现三位数

public static void printHexByByteArray(String fileName) throws IOException {
		FileInputStream in=new FileInputStream(fileName);
		byte[] buf=new byte[1*1024];
		int b=in.read(buf, 0, buf.length);
		int j=1;
		for (int i = 0; i < b; i++) {
			if (buf[i]<=0xf) {
				System.out.print("0");
			}
			System.out.print(Integer.toHexString(buf[i] & 0xff)+" ");
			if(j++%10==0){
				System.out.println();
			}
		}
		in.close();
		
	}


正在回答

1 回答

把if的判断条件再限制严格一点,改为 if(buf[i] <= 0xf && buf[i] >= 0x0) 出现3位的都是最高位为1的,被识别为有符号的负数,肯定小于0xf了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

补零后,输出出现三位数

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信