91得票9回答
64位程序比32位版本更大更快吗?

我主要关注x86,但是我对从32位到64位的转换感兴趣。 从逻辑上讲,常量和指针在某些情况下会更大,因此程序可能会更大。同时,为了提高效率而希望在字边界上分配内存将导致分配之间有更多的空白。 我还听说,在x86的32位模式下,由于可能存在重叠的4G地址空间,因此在上下文切换时必须清除缓存。...

77得票3回答
gcc中是否有128位整数?

我需要一个128位整数,因为我要存储两个64位数相乘的结果。在gcc 4.4及以上版本中有这样的东西吗?

31得票4回答
在C语言中分配128位整数

当我尝试在gcc 4.9.1中分配一个128位整数时,我收到一个警告:整数常量对其类型来说太大了。 示例代码: int main(void) { __uint128_t p = 47942806932686753431; return 0; } 输出 我正在使用gcc -s...

27得票7回答
如果我的编译器不支持128位整数,我该如何在C或C++中进行128位整数的加减运算?

我正在编写一个压缩程序,用于长达128位数字的数据流。我想将这些数字存储为差值--仅存储相邻数字之间的差异,因为它们更小,所以可以使用更少的字节来打包差异。 然而,为了进行压缩,我需要减去这些128位的数,而为了解压缩,我需要加上这些值。我的编译器最大整数大小为64位。 有没有任何高效的方...

24得票2回答
gcc在amd64上支持128位整数吗?

gcc是否支持在amd64上的128位整数? 如何定义它? 如何使用scanf/printf来读写它?

23得票2回答
模运算符比手动实现慢?

我发现在 __int128 类型上手动计算取模运算符 % 比内置编译器运算符要快得多。我将向您展示如何计算模9,但该方法可用于计算模任何其他数字。 首先考虑内置编译器运算符:uint64_t mod9_v1(unsigned __int128 n) { return n % 9; } ...

18得票4回答
如何知道是否定义了__uint128_t

我们可以使用预处理器来确定是否定义了unsigned long long:#include <limits.h> #ifndef ULLONG_MAX typedef unsigned long t_mask; #else typedef unsigned long long ...

18得票2回答
在64位架构上Python无法使用128位浮点数

我通过Enthought Canopy IDE中的Python终端检查了指针的大小import ctypes print (ctypes.sizeof(ctypes.c_voidp) * 8) 我的架构是64位的,使用 numpy.float64 没有问题。但是我不能使用 np.float12...

17得票1回答
如何在x86和x86_64上使用Gcc 4.6.0的libquadmath和__float128?

我有一个中等大小的C99程序,使用 long double 类型 (80位) 进行浮点计算。我想用新的GCC 4.6扩展 __float128 提高精度。据我所知,它是一个软件模拟的128位精度数学库。 我该如何将我的程序从经典的80位长双精度转换为128位带有全精度软件模拟的四倍精度浮点数...

16得票2回答
哪些gcc版本支持__int128内置类型?

在gcc文档中,128位整数是这样定义的: 作为扩展,支持整数标量类型__int128,用于具有足够宽的整数模式以容纳128位的目标。 只需编写__int128来表示带符号的128位整数,或者unsigned __int128表示无符号的128位整数。 对于long lon...