最大类型值之间的关系
relation between maximum types values
在我的应用程序中,我使用存储在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) >= 4
和sizeof(long long int) >= 8
,但它们之间没有规则。
处理这种情况的最佳方法是什么?
问题似乎不在于类型本身,但是你必须处理的最大值。最多64位系统,long
和long long
都是64位,但如果您的代码也可以移植到32位系统,您可能需要无论如何都将CCD_ 8中的值限制为32位。因为在这种情况下,没有问题,即使在某些机器上,long
是64位。真正的问题是你能做出什么样的假设(以及你能验证吗)。
您可以在cstil力中使用类似于,int32_t,int64_t的东西
相关文章:
- this_thread::sleep_for和计时时钟之间的关系是否由C++11标准指定
- 我已经建立了递归关系,它找到了两个字符串之间最长的连续公共字符串,我怎么能跳过其中一个字符串中的一个字符
- 移动语义和深层/浅层复制之间有什么关系?
- #include < conio.h> 和 getch() 方法之间的关系是什么?
- 超市管理系统的类别之间应该是什么关系?
- 指针和程序性能之间有什么关系吗?
- node.h/node.cpp/nodelist.cpp之间的关系
- 运行线程和线程对象之间的关系
- 类型大小与其值范围之间的关系?
- 2个期货之间的依赖关系
- Qt:工作线程和 GUI 事件之间的关系
- 如何强制 qbs 产品与依赖关系之间的同步?
- 在头文件和 .cc 文件之间建立关系
- C 和Windows OS之间的关系
- 为什么赋值运算符和相等运算符之间没有 1:1 的关系?
- QComboBox 在 editTextChanged 和 currentIndexChanged 之间的关系
- 使用 .depends 指定 SUBDIRS 项目之间的依赖关系不起作用
- 各种初始化和构造之间的关系
- 变量之间的关系
- Objective-C源代码和clang -rewrite-objc C++代码之间有什么关系?