在C中指定数据类型的位数

时间:2013-05-14 07:19:46

标签: c size

是否可以指定一个数据类型,如int或long,以便能够存储比通常支持的更多位数?

示例int支持32位,long支持64位。如果我想要长达128位或更高位,该怎么办?没有任何图书馆的帮助可以吗?

3 个答案:

答案 0 :(得分:2)

在C中是不可能的。你必须使用像Bigint这样的库来实现它。

答案 1 :(得分:0)

gcc支持64位平台上的内置__int128_t__uint128_t类型。

答案 2 :(得分:0)

C旨在为您提供超出您所操作硬件的骨架的轻微抽象。因此,通常可用的类型对应于CPU可以本机操作的数据类型。

大整数类型需要多个CPU指令才能执行基本操作,因此不是本机操作,也不是核心C语言的一部分。

这不是C的严格定义,但它是对设计决策的一般要点的合理的一般描述。