bit-fields

bit-fields

文章 0 浏览 7

在 C 中重新定义寄存器位域的技巧

我正在努力想出一种干净的方法来重新定义一些寄存器位字段,以便在我正在使用的芯片上使用。 例如,CAN 配置寄存器之一的定义如下: extern volatile …

要走干脆点 2024-08-28 05:25:09 17 0

除 int 之外的其他类型的位域?

我有一个代码,它使用如下声明的位字段, typedef struct my{ const char *name; uint8_t is_alpha : 1; uint8_t is_hwaccel : 1; uint8_t x_chroma_s…

温柔一刀 2024-08-22 09:30:46 10 0

在 C# 中,如何轻松地将枚举标志从一种类型映射到另一种类型?

另请参阅问题末尾的更新... 考虑到以下情况: [Flags] enum SourceEnum { SNone = 0x00, SA = 0x01, SB = 0x02, SC = 0x04, SD = 0x08, SAB = SA | SB…

浮生面具三千个 2024-08-20 03:12:57 10 0

解析一个位域参数,如何“丢弃”无符号长整型中的位?

首先,我想知道这是否可能:假设我有一个无符号长整型,其中包含一些任意无符号短整型,它们可能在也可能不在数字中。例如: unsigned short int id1 …

御弟哥哥 2024-08-17 07:23:44 11 0

计算并集和交集的编程方法的正式名称

当我想同时计算两个集合(存储为列表)的并集、交集和差异时,我[当然是重新]发明了这个[轮子]。初始代码(不是最严格的): dct = {} for a in lst1:…

久而酒知 2024-08-17 02:31:23 6 0

强制将位字段读取为 32 位

我正在尝试通过 PCI 总线对 VME 桥接芯片(Tundra Universe II)执行小于 32 位的读取,然后该读取将进入 VME 总线并由目标拾取。 目标VME应用程序仅…

℡Ms空城旧梦 2024-08-13 02:28:13 11 0

C++布尔数组作为位域?

假设我需要在一个结构中存储 8 个布尔值,但我只想将它们一起使用 1 个字节,那么我可以做这样的事情: struct myStruct { bool b1:1; bool b2:1; boo…

赠意 2024-08-11 18:01:49 15 0

返回多个枚举值的最佳方法是什么? (Java 和 C#)

删除了更多原始内容,以使问题更容易参考: 所以我有一个 House 类,它有一个方法 House.buy(Person p),导致该人购买房子。我想知道这个人是否可以购…

深陷 2024-08-11 17:34:19 4 0

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

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

初见终念 2024-08-08 17:59:13 10 0

C 中的位域掩码

C 中是否有一种可移植的方法可以在编译时找出位字段的掩码? 理想情况下,我希望能够以原子方式清除这样的字段: struct Reference { unsigned age : …

白云不回头 2024-08-07 20:17:32 7 0

具有别名的可变大小位域

我有一些包含位字段的结构,其大小可能有所不同。示例: struct BitfieldSmallBase { uint8_t a:2; uint8_t b:3; .... } struct BitfieldLargeBase { …

蹲墙角沉默 2024-08-06 12:47:00 9 0

位字段:设置与测试并设置(为了性能)

我有大量这样的 C 结构实例: struct mystruct { /* ... */ unsigned flag: 1; /* ... */ }; flag 最初为 0,但在从某个函数退出时必须为 1。 最简单…

岁月打碎记忆 2024-07-22 17:46:39 11 0

从 C 中的大结构中获取子结构

我在现有程序中有一个非常大的struct。 该结构体包含大量位域。 我希望保存其中的一部分(例如,150 个字段中的 10 个字段)。 我用来保存子类的示例…

只等公子 2024-07-21 04:46:13 6 0

使用 -1 将所有位设置为 true 是否安全?

我见过这种模式在 C 和 C 语言中被大量使用。 C++。 unsigned int flags = -1; // all bits are true 这是实现此目的的良好便携式方法吗? 或者使用 0…

聽兲甴掵 2024-07-18 06:24:42 14 0

为什么与混合数据类型的位字段相比,相同数据类型的位字段的大小更小

我很好奇为什么具有相同数据类型的位字段比混合的位字段占用的大小更小 数据类型。 struct xyz { int x : 1; int y : 1; int z : 1; }; struct abc { …

骄兵必败 2024-07-14 17:31:01 9 0
更多

推荐作者

十二

文章 0 评论 0

飞烟轻若梦

文章 0 评论 0

OPleyuhuo

文章 0 评论 0

wxb0109

文章 0 评论 0

旧城空念

文章 0 评论 0

-小熊_

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文