根据您的需要,您可以创建自己的结构来处理数据类型:
#include <cstdint>
struct uint256_t
{
std::uint64_t bits[4];
};
uint256_t x;
Run Code Online (Sandbox Code Playgroud)
标准
C和C++标准明确允许扩展整数类型.
C++ 11
C++ 11 N3337草案 3.9.1"基本类型"第3段说:
有五种标准的有符号整数类型:"signed char","short int","int","long int"和"long long int".在此列表中,每种类型至少提供与列表中前面的存储一样多的存储空间.也可能存在实现定义的扩展有符号整数类型.标准和扩展有符号整数类型统称为有符号整数类型.简单的int具有执行环境的体系结构所建议的自然大小,提供其他有符号整数类型以满足特殊需要.
你还应该考虑intmax_t,18.4.1"标题概要"第2段说:
标题定义了所有函数,类型和宏,与C标准中的7.18相同.
C99
C99 N1256草案明确允许它们在6.2.5"类型"第4段:
有五种标准的有符号整数类型,指定为signed char,short int,int,long int和long long int.(这些和其他类型可以用几种其他方式指定,如6.7.2中所述.)也可能存在实现定义的扩展有符号整数类型.28)标准和扩展有符号整数类型统称为有符号整数类型.29 )
和7.18.1.5"最大宽度整数类型"第1段说:
以下类型指定一个有符号整数类型,它能够表示任何有符号整数类型的任何值:
还会将intmax_t