gpt4 book ai didi

c++ - 最大类型值之间的关系

转载 作者:行者123 更新时间:2023-11-28 00:23:16 25 4
gpt4 key购买 nike

在我的应用程序中,我使用存储在 long int 变量中的大量数字。有时,我必须将它们相乘。所以我使用 long long int 变量来存储结果。示例:

long long int multiplication(long int a, long int b)
{
long long int r = (long long int)a * (long long int)b;
return r;
}

为了管理断言的前置条件,我梦到sizeof(long long int) >= 2*sizeof(long int) 总是为真,但事实并非如此。似乎我唯一的保证是 sizeof(long int) >= 4sizeof(long long int) >= 8,但它们之间没有规则.

处理这种情况的最佳方法是什么?

最佳答案

问题似乎不在于类型本身,但是你必须处理的最大值。在大多数 64位系统,longlong long 都是 64 位的,但是如果您的代码也可以移植到 32 位系统,您可能需要无论如何,将 long 中的值限制为 32 位。在那里面case,没有问题,即使在某些机器上,long是64位。真正的问题是你可以做出什么假设(以及什么你能验证)关于你的输入吗?

关于c++ - 最大类型值之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26400256/

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