bit-fields 相关问题

位字段用于将多个逻辑值紧凑地存储为短的一系列位,其中每个单个位可以被单独寻址。

24 位和 8 位变量联合的定义行为

我正在尝试找到将 24 位和 8 位无符号整数打包为 32 位的最佳方法,而不需要位移来提取数据。工会立即想到一个简单的方法

回答 1 投票 0

我需要在 32 位架构上处理 8 位位字段结构的字节序吗?

我正在32位架构(确切地说是AVR32)上做一些嵌入式软件。 在此软件上,我从通过 I2C 连接的外围设备检索一个以一个字节编码的标志。 每一位...

回答 2 投票 0

向位字段添加值的扩展方法(标志枚举)

不要这样做来向 flags 枚举变量添加值: MyFlags 标志 = MyFlags.Pepsi; 旗帜=旗帜| MyFlags.Coke; 我想创建一个扩展方法来实现这一点: 我的旗帜...

回答 4 投票 0

尝试将 std::bit_cast 与位域结构一起使用。为什么不是 constexpr?

我试图在编译时从位域结构中获取位掩码。我尝试过的技巧之一(对我来说看起来很有希望)是使用 std::bit_cast,因为它应该是 constexpr。 我的...

回答 1 投票 0

这是一个 GCC 错误,它将 uint128_t 上的按位运算结果存储在位字段中

此代码适用于 GCC,优化程度低于 -O2 或在 clang 中。 constexpr uint16_t KEY_BITS = 70; constexpr 无符号 __int128 KEY_BITS_MASK = (((无符号 __int128) 1) << KEY_BITS) - 1;

回答 1 投票 0

C 位字段中的字节顺序? [重复]

考虑 uint32_t n = 0x12345678;存储在BE机或LE机中,如图所示;现在我有一个这样定义的结构 结构数据{ uint32_t:24; uint32_t b:8; }; ...

回答 1 投票 0

将一个结构放入比它小的内存中

我正在优化一种压缩算法,该算法使用跨越 2 个字节的结构。但有时我希望它只解释 1 个字节,因为它的成员(我希望)映射到第二个......

回答 1 投票 0

将结构放入比它小的内存中

我正在优化一种压缩算法,该算法使用跨越 2 个字节的结构。但有时我希望它只解释 1 个字节,因为它的成员(我期望)映射到 2n...

回答 0 投票 0

向我的 C 结构体添加一个新的位域会破坏二进制兼容性吗?

我继承了一些在结构中使用位域的代码: typedef _my_flags { 无符号整数 x_ida:1; 无符号整数 x_foo:6; 无符号整数 x_bar:6; 无符号整数 x_bonzo:6;

回答 1 投票 0

C++ 中未定义但正确的行为

下面的程序对位域的打包、类型双关和对象表示做了假设。换句话说,它不假装可移植性。不过,它的优点是……

回答 2 投票 0

为什么我不能用位域创建一个结构数组?

编辑:我必须专门为此目的使用 union,因为本章是关于它们的。我所说的第一个任务的片段是基于: 设计一个名为 byte_set 的联合,其中

回答 3 投票 0

为什么禁止对位域的非常量引用?

C++11 中的第 9.6/3 节非常清楚:“非常量引用不得绑定到位域。”这项禁令背后的动机是什么? 我知道这是不可能直接......

回答 2 投票 0

初始化位域

写的时候 结构{ 无符号 a:3, b:2; } x = {10, 11}; ANSI C (C89) 保证 x.b 为 3 吗?我已经阅读并重新阅读了该标准,但似乎无法找到确切的情况。 例如...

回答 2 投票 0

ctypes。具有位字段的结构未正确设置值

我在C中有以下内容 #包括 结构演示 { 字符 f1:8; 诠释 f2:21; 字符 f3:2; 字符 f4:1; }; 主函数() { 结构演示 d = {1, 15, 3, 1}; printf("%l...

回答 2 投票 0

位域中宽度为零的连续未命名域不会改变结构的大小

这是一个结构。 结构{ 无符号整型:8; 无符号整数:0; 无符号整型 f:1; } A; sizeof struct A 这里是8个字节。我明白那个。但是现在如果我再放一个未命名的字段...

回答 2 投票 0

结构声明中的冒号是什么意思,例如:1、:7、:16 或:32?

下面的C++代码是什么意思? 无符号字符:1; 无符号字符 b:7; 我猜它创建了两个 char a 和 b,它们都应该是一个字节长,但我不知道“:1”是什么......

回答 3 投票 0

不同数据类型联合的行为

我宣布了两个工会 typedef 联合体 { 结构 { 无符号短 n1 : 4; 无符号整数 n2:4; } 小号; 无符号整数值; } 工会A; typedef 联合体 { 结构 { ...

回答 1 投票 0

如何打包其中包含位域结构的结构的大小?

嗨,我在 C 中定义了以下结构 结构 __attribute__((__packed__)) 输入 { 枚举 { I_PE_left = 0, I_PE_up = 1, I_PE_right = 2, 我_PE_d...

回答 1 投票 0

为什么在一个枚举内声明位字段的组合与在枚举外声明会产生不同的结果?

在这里,我有一个由位字段表示的主题列表,底部有一个包含可选主题的 "可选 "字段。[Flags] enum Subjects { Art = 0b_0000_0001, ...

回答 1 投票 1

sizeof函数如何在有位字段和无位字段的结构上工作?(padding)

我在C++上测试带位字段的结构体的行为,但我遇到了一点困惑。我的操作系统是windows 10 64bits。我使用的代码如下: struct BitFieldTest { ...。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.