我使用 C++ 通过 SystemC 进行基于硬件的模型设计。 SystemC 作为 C++ 扩展引入了对信号和字节描述有用的特定数据类型。
一般情况下如何访问数据类型的前几位,例如:
sc_bv<16> R0;
或访问 tmp
的前四位。
int my_array[42];
int tmp = my_array[1];
sc_bv 是一种位 vector 数据类型,用于存储二进制序列。现在我想要那个数据类型 e 的前四位。 g.. 我的背景是 C# 和 Java,因此我通常会错过一些基于 OOP 和 Reflexion 的 API 构造。我需要对这些低级的东西进行转换。有用的介绍性内容会有很大帮助。
谢谢 :), 祝愿
最佳答案
对于sc_bv
,可以使用索引运算符[]
对于 int,只需使用带常量的正常位运算,例如tmp
中的最低有效位是 tmp & 1
关于c++ - 使用 C++ 选择性地访问数据类型的位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4246205/