本帖最后由 任江峰 于 2013-5-13 19:33 编辑
num是指要转换成十六进制的数。
temp是指num的二进制的串中的最低4位的十进制值。
num&15后(15的最低4位是1111),剩下的就是二进制中的最低4位,就是temp。temp只有4位它的值一定是1到15。通过1到15的角标去查表,找到对应的十六进制值。这就取到了num个位的十六进制值。
num取过一次后,右移4位,接着取num十位上的十六进制值。
num再右移4位,取num的千位上的十六进制值。
。。。
由于右移使用的是>>>,高位补的是0。这样当取完num的所有十六进制位后,num的值等于0。结束循环。
也就是num!=0时,表示还有高位的十六进制位没取完。
num==0时,表示所有的十六进制位都已经取完,应该结束循环。
|