【发布时间】:2012-11-07 08:36:20
【问题描述】:
我在十六进制字符串中有这个数字:
002A05(7th bit is set to 0)
我需要把这个数字的第7位取反,所以转换后我会得到
022A05
但万一
ABCDEF(7th bit is set to 1)
我需要得到
A9CDEF
但它必须适用于每 6 个字符的十六进制数字。
它必须是左起第 7 位。我正在尝试将 OUI 转换为修改后的 EUI64
我尝试通过 strtol 将十六进制字符串转换为整数,但该函数去除了前导零。
请帮我解决一下。
【问题讨论】:
-
这与您几天前询问的another question 几乎相同。能不能根据前面的建议自己动手,遇到问题再贴代码?
-
您确实必须努力提出具体问题。另外,这是 C++ 问题还是 C 问题?你说的“有这个号码”是什么意思?你有什么形式的?
-
strtol函数在 C89 中。它早于 C++。 -
顺便说一句,这不是第七位。