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

为什么写了b[i]<=0xf;输出0;这个条件语句,我输出了的ff, d6 ,d0 ,都变成0ff, 0d6, 0d0

为什么写了if(b[i]<=0xf);

System.out.print("0");这个条件语句,

我输出了的ff, d6 ,d0 ,会多打印出一个0,变成0ff, 0d6, 0d0

正在回答

2 回答

我来回答。

b[i] <= 0xf是用来判断是否需要加0,也就是高四位是否有1出现,但是这个判断条件不对。比如0xff输出占两位,但是在数值上却是小于0xf的。所以争取的补0条件应为:

if (b[i] & 0xf0 == 0)

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

那是因为你if这行加了一个分号。相当于if 条件 空执行 加分号 。后面的SYSO已经不受IF约束,为每次都运行的语句了。IF只能控制后面紧跟的花括号中的内容,或者是紧跟的一个分号前的内容

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

举报

0/150
提交
取消

为什么写了b[i]<=0xf;输出0;这个条件语句,我输出了的ff, d6 ,d0 ,都变成0ff, 0d6, 0d0

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