首先,我知道我想做的事情可能超出了C标准。


我想知道是否可以在C中创建uint4_t / int4_tuint128_t / int128_t类型。

我知道我可以使用移位和复杂的功能来做到这一点,但是如果没有这些功能,我可以做到吗?

最佳答案

您可以在结构中使用位字段来使字段比uint8_t窄,但是它们所存储的基本数据类型将不会更小。

struct SmallInt
{
   unsigned int a : 4;
};


将为您提供一个结构,该结构的成员称为a,宽度为4位。

10-07 12:43