gpt4 book ai didi

C:当值任意大时将字符串转换为数字

转载 作者:行者123 更新时间:2023-11-30 20:06:14 26 4
gpt4 key购买 nike

据我所知,在 C 中,所有数字类型都有固定的上限。因此,要将字符串转换为数字,您必须知道该数字可能有多大。

有什么方法可以将字符串转换为数字而不对数字大小施加任何限制吗?如果重要的话,我关心的数字是负数。

最佳答案

核心 C 语言仅支持确定大小的整数。用于将十进制(文本)数字转换为二进制(机器)数字的库存工具是 strto*函数系列1,正如您可能已经注意到的,它们要求您为期望的输入选择适当大小的整数类型。通常,在用 C 语言编程时,可以说您的程序只需要能够支持某个固定范围内的数字,并且如果收到超出该范围的输入,则只会引发错误。

如果您确实需要支持任意大2个数字,那么您需要一个附加库。这些库的通用术语是“bignum”、“多精度算术”和“任意精度算术”。 GNU MP 是一个编写良好、免费许可的 bignum 库。 .

1 相关的 ato**scanf 函数按设计已损坏 - 切勿将它们用于任何用途。它们被破坏的原因之一是它们使您无法判断何时收到了超出支持范围的输入。

2 的绝对值,即在任一方向上任意远离零

关于C:当值任意大时将字符串转换为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26221491/

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