首先,我知道我想做的事情可能超出了C标准。
我想知道是否可以在C中创建uint4_t
/ int4_t
或uint128_t
/ int128_t
类型。
我知道我可以使用移位和复杂的功能来做到这一点,但是如果没有这些功能,我可以做到吗?
最佳答案
您可以在结构中使用位字段来使字段比uint8_t窄,但是它们所存储的基本数据类型将不会更小。
struct SmallInt
{
unsigned int a : 4;
};
将为您提供一个结构,该结构的成员称为a,宽度为4位。