gpt4 book ai didi

c++ - 3位数组对齐

转载 作者:行者123 更新时间:2023-11-27 22:53:50 25 4
gpt4 key购买 nike

我有一个包含 3 位字段的结构。

struct A {
unsigned char a:3;
};

我想要一个 struct A 数组,每个元素只需要 3 位而不是整个字节。

有什么办法吗?

最佳答案

最好的方法是在每个结构中存储 24 位,然后在每个结构中有 8 x 3 位的实体。您可以使用按位操作来访问以下结构中的每个 3 位实体:

struct A {
unsigned char a[3];
};

然后在创建数组等时就不会浪费空间。但是,您会浪费任何未使用的 3 位实体,其中最多 7 个,而可能最少为 0 个(无浪费)。

关于c++ - 3位数组对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35071093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com