将一串十六进制数字转换为整数

标签 c

我正在尝试实现 htoi(s) [Dennis Ritchie chapter2 exercise 2-3 Q],它将一串十六进制数字转换为等效的整数,谁能帮我解决这个程序的逻辑问题,我不知道需要代码,我只需要实现它的逻辑。我无法获得正确的逻辑

最佳答案

让我们退一步:

您将如何实现接受单个十六进制数字并返回其十进制等效值的函数?

换句话说,你将如何编写这个函数:

unsigned int hextodec(char c)
{
    ... your code here
}

提示:对于十进制数字,当您计算 c -'0' 时会发生什么?

一旦你有了这个函数,就可以很容易地使用它来计算更长的十六进制字符串的转换。

提示:0xF 是 15,0x10 是 16

关于将一串十六进制数字转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13569051/

相关文章:

c - 是否有一个 C 函数可以返回发生 int 值的第二个、第三个等实例?

c++ - 这个递归函数的时间复杂度是多少

来自 "The C Programming Language"的字符计数器未按预期工作

c - fscanf() 的输出无效

c - 需要帮助重置 C 中的静态全局变量

c - 调用某些 win32 api 函数时的 Haskell undefined reference

c - c中的字符串解析和子字符串

c - 如何将 char* 传递给函数?

c - 在 C 中将 ASCII 转换为 HEX 时跳过特殊字符

c - 在 C 中将一个字符串附加到另一个字符串