【发布时间】:2013-04-02 04:18:28
【问题描述】:
有没有在 32 上使用 64 位整数的快速方法 x86 机器(在 c(添加:和 c++)语言编译器中)?
32 位 x86 在某些情况下支持 64 位操作 范围(旧 mmx 中有一些 movq 指令 可能还有其他一些命令),但是如何从 c 中使用它?
如果有人想使用 64 位整数运算怎么办 在 32 位 x86 机器上的 c 中 - 怎么做 简单高效?
//编辑
到现在为止,我已经找到了一些候选人
uint64_t A;
long long a;
int64 a;
__int64 a;
应该使用什么?有没有机会 上述算法的实施更好/更快 比其他的?
【问题讨论】:
-
uint64_t 等类型有什么问题?
-
检查你的编译器是否支持
int64、long long int、int64_t等64位数据类型 -
@PlasmaHH 我只是不认识它们——它们在 32 位 c/c++ 编译器中可用吗,它们快吗?
-
@user2214913:这取决于你对“快”的定义。
-
这个定义是 - 操作没有在软件中精心模拟,特别是我想知道:ADD SUB MUL DIV 比较和分配这些基本的东西(需要快速的算法)