可能重复:
在 C++ 中用前导零更改十六进制数的位,(C)
我在十六进制字符串中有这个数字:
002A05(7th bit is set to 0)
我需要反转这个数字的第 7 位,所以转换后我会得到
022A05
但万一
ABCDEF(7th bit is set to 1)
我需要得到
A9CDEF
但它必须适用于每 6 个字符的十六进制数。
它必须是左起第 7 位。我正在尝试将 OUI 转换为修改后的 EUI64
我尝试通过 strtol 将十六进制字符串转换为整数,但该函数去除了前导零。
请帮助我如何解决它。