atoi() 来自十六进制表示字符串

Posted

技术标签:

【中文标题】atoi() 来自十六进制表示字符串【英文标题】:atoi() from hex representation string 【发布时间】:2013-12-18 09:39:13 【问题描述】:

需要从像 "0xFA" 或更好的 "FA" 这样的十六进制表示字符串生成 int。需要像atoi("FA") 这样的东西。是否有任何标准解决方案?

【问题讨论】:

类似strtol,你的意思是? Know your tools 【参考方案1】:

尝试使用strtol():

strtol("FA", NULL, 16);

【讨论】:

注意:它也适用于0xFA:“(可选)前缀(0x 或 0X)表示十六进制基数(仅当基数为 16 或​0​时适用)” 对于无符号的,你应该使用strtoul()来正确处理像“0x81234567”这样的字符串,否则你会得到0xFFFFFFFF返回。

以上是关于atoi() 来自十六进制表示字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何将string类型的数字转换成int

将负十进制转换为其二进制表示

检查字符串是不是是十六进制数的有效表示

ValueError:spacy.strings.StringStore 大小已更改,可能表示二进制不兼容。预期来自 C 标头的 80,来自 PyObject 的 64

给出一个字符串,将其每一个字符表示成16进制表示,要求每个十六进制为8位数

C# 将字符转换为字节(十六进制表示)