Tag: bignum

GCC __attribute __((模式(XX))实际上做了什么?

这源于今天早些时候关于bignum库和gcc特定的C语言攻击主题的问题。 具体来说,使用了这两个声明: typedef unsigned int dword_t __attribute__((mode(DI))); 在32位系统和 typedef unsigned int dword_t __attribute__((mode(TI))); 在64位系统上。 我假设这是对C语言的扩展,没有办法实现它在当前(C99)标准中实现的任何目标。 所以我的问题很简单:这个假设是否正确? 这些陈述对底层内存有何影响? 我认为结果是我在32位系统中使用2*sizeof(uint32_t) ,在64位系统中使用2*sizeof(uint64_t) ,我是否正确?

如何编写解决方案以处理大量数据?

我正在做一些Project Euler问题,而且大多数时候,计算涉及超出int,float,double等的大量数字。 首先,我知道我应该寻找更有效的计算方法,以避免出现大量问题。 我听说过Bignum图书馆。 但是,对于学术界的兴趣,我想知道如何编写我自己的解决方案来解决这个问题。 任何专家都可以帮帮我吗? (我的语言是C)