题目解析
本题是逻辑模拟题。按照题目要求模拟逻辑即可。
本题主要难点在于,如何将数据 a 的四个字节分别取出。
这里有两种思路:
- 字符串解析:将十进制数 a 转为 十六进制串 hexStr,然后hexStr从尾部每次读两位,不足两位则读低位,读出来的部分重新变为一个新十六进制数。
- 位运算:
a & 0xff:即可获得 a 的低位字节值,因为按位与(&)运算,运算的两个数对应位都为1,结果才为1,否则结果为0。
可以发现 258 & 0xff 的结果就是 258 的低位字节值
获得 a(258) 的低位字节后,我们可以将 a >>= 8(右移八位),即可去除低位字节,然后继续上面 a & 0