在我的程序中,我正在查看一个字符串,我想知道它是否代表一个 32 位整数。
目前我首先使用 isdigit()
检查它是否是一个数字,然后我检查它是否超过 2^32 的值(假设我不关心无符号值)。
检查我的输入字符串是否包含有效的 32 位整数的最佳方法是什么?
原文由 user1020069 发布,翻译遵循 CC BY-SA 4.0 许可协议
在我的程序中,我正在查看一个字符串,我想知道它是否代表一个 32 位整数。
目前我首先使用 isdigit()
检查它是否是一个数字,然后我检查它是否超过 2^32 的值(假设我不关心无符号值)。
检查我的输入字符串是否包含有效的 32 位整数的最佳方法是什么?
原文由 user1020069 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答862 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
假设最大的 32 位整数是
0xffffffff
,然后,我们需要检查我们的数字是否大于这个值:
将
abs()
包裹在数字周围也会处理负面情况。