gpt4 book ai didi

c - 在 C 中将 bool 字符串解释为数字的最快方法是什么?

转载 作者:行者123 更新时间:2023-12-03 15:42:18 25 4
gpt4 key购买 nike

我用谷歌搜索,所有结果都是关于 C++ 和 C#,所以我问了一个 C 特定的问题。

// Str to lower
if (!memcmp(Str, "true", 4) || !memcmp(Str, "1", 1) || ...) {
return 1;
} else if (!memcmp(Str, "false", 5) || !memcmp(Str, "0", 1) || ...) {
return 0;
}
return -1;
这是一种方法。但我不太确定这是最有效的方法。将 bool 字符串(例如“true”)解释为等效值 1 的最有效方法是什么?

最佳答案

因为在您的示例中,您似乎正在返回 -1对于无效的输入,我们可以假设它们并不总是有效的,因此无论您做什么,您都必须检查整个字符串。
然而,是否是memcmp的链式店调用(从头开始,但通常优化得很好)或决策树更快将取决于选项是什么、有多少、目标架构和硬件等。

关于c - 在 C 中将 bool 字符串解释为数字的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63003802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com