是否可以将总位数相同的一种类型的位域转换为另一种类型的位域?

香蕉商务

任何人都可以告诉是否有可能将一种类型的位域分配给另一种类型的位域吗?带有C90编译器的支持。

这是位域的结构:

typedef struct{
    unsigned int ERA:2;
    unsigned int destar:2;
    unsigned int srcar:2;
    unsigned int opcode:4;
    unsigned int grp:2;
    unsigned int dumy:3;
} Command;
typedef struct{
    unsigned int cell:15;
} Word;

这是主程序:

int main(int argc, const char * argv[]){
    Word word;
    Command cmd;
    cmd.grp = 2;
    word = cmd;
}

假设我在这里有这15位:

我们按以下顺序排列它们:

命令:

Dumy |    grp | opcode |   srcar | destar | ERA
 0 0 0   0 1    0 0 0 1     10      0 0     0 0

单词:

 |          word              |
000000000000000

目的是使单词等于整个Command(word = command),因此我们将看起来像这样:

|           word            |
000010001100000
dbush

您可能想要的是一个工会:

typedef union {
    struct {
        //unsigned int:1;        // padding bit either here...
        unsigned int ERA:2;
        unsigned int destar:2;
        unsigned int srcar:2;
        unsigned int opcode:4;
        unsigned int grp:2;
        unsigned int dumy:3;
        //unsigned int:1;         // ...or here, depending on how you want to read it
    } cmd;
    uint16_t word;
} Cmd;

int main(int argc, const char * argv[]){
    Cmd cmd;
    cmd.cmd.grp = 2;
    printf("word=%u\n", cmd.word);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将一种类型转换为另一种类型

来自分类Dev

将一种类型的列表转换为另一种类型

来自分类Dev

将一种类型的 Observable 转换为另一种类型

来自分类Dev

如何将一种类型的CompletableFuture转换为另一种类型?

来自分类Dev

如何将嵌套对象从一种类型转换为另一种类型

来自分类Dev

C#-将异步任务从一种类型转换为另一种类型

来自分类Dev

使用已注册的lambda将一种类型转换为另一种类型的类

来自分类Dev

创建将一种类型的函数转换为另一种类型的函数

来自分类Dev

将每月数据从一种类型转换为另一种类型

来自分类Dev

如何将一种类型的对象(接口)转换为另一种类型(接口)?

来自分类Dev

无法将一种类型转换为另一种类型错误

来自分类Dev

如何将一种类型的对象数组转换为另一种类型?

来自分类Dev

从一种类型转换为另一种类型时的模板类型推导

来自分类Dev

在Swift中是否有一种方法可以将泛型约束为一种类型或另一种类型?

来自分类Dev

快速测试一种类型是否与另一种类型兼容

来自分类Dev

在C ++中将数据从一种类型转换为另一种类型?

来自分类Dev

在c#中将一种类型转换为另一种类型

来自分类Dev

如何将一个结构转换为具有相同成员的另一种类型?

来自分类Dev

将一种类型的数据转换为另一种数据的设计模式

来自分类Dev

将一种类型的列表转换为另一种RXJava?(等效于Javascript映射)

来自分类Dev

将选项中的值转换为另一种类型

来自分类Dev

C#将ObservableCollection转换为另一种类型

来自分类Dev

在捕获错误时将值从一种类型转换为另一种类型的函数

来自分类Dev

如何检查一种类型是否与另一种/类型提示相符

来自分类Dev

如何将任何类型的泛型类型转换为另一种类型

来自分类Dev

在Golang中将一个指针转换为另一种类型

来自分类Dev

一种类型的属性映射到另一种类型的实例

来自分类Dev

使用另一种类型过滤一种类型的键

来自分类Dev

向量从一种类型隐式转换为另一种c ++

Related 相关文章

  1. 1

    将一种类型转换为另一种类型

  2. 2

    将一种类型的列表转换为另一种类型

  3. 3

    将一种类型的 Observable 转换为另一种类型

  4. 4

    如何将一种类型的CompletableFuture转换为另一种类型?

  5. 5

    如何将嵌套对象从一种类型转换为另一种类型

  6. 6

    C#-将异步任务从一种类型转换为另一种类型

  7. 7

    使用已注册的lambda将一种类型转换为另一种类型的类

  8. 8

    创建将一种类型的函数转换为另一种类型的函数

  9. 9

    将每月数据从一种类型转换为另一种类型

  10. 10

    如何将一种类型的对象(接口)转换为另一种类型(接口)?

  11. 11

    无法将一种类型转换为另一种类型错误

  12. 12

    如何将一种类型的对象数组转换为另一种类型?

  13. 13

    从一种类型转换为另一种类型时的模板类型推导

  14. 14

    在Swift中是否有一种方法可以将泛型约束为一种类型或另一种类型?

  15. 15

    快速测试一种类型是否与另一种类型兼容

  16. 16

    在C ++中将数据从一种类型转换为另一种类型?

  17. 17

    在c#中将一种类型转换为另一种类型

  18. 18

    如何将一个结构转换为具有相同成员的另一种类型?

  19. 19

    将一种类型的数据转换为另一种数据的设计模式

  20. 20

    将一种类型的列表转换为另一种RXJava?(等效于Javascript映射)

  21. 21

    将选项中的值转换为另一种类型

  22. 22

    C#将ObservableCollection转换为另一种类型

  23. 23

    在捕获错误时将值从一种类型转换为另一种类型的函数

  24. 24

    如何检查一种类型是否与另一种/类型提示相符

  25. 25

    如何将任何类型的泛型类型转换为另一种类型

  26. 26

    在Golang中将一个指针转换为另一种类型

  27. 27

    一种类型的属性映射到另一种类型的实例

  28. 28

    使用另一种类型过滤一种类型的键

  29. 29

    向量从一种类型隐式转换为另一种c ++

热门标签

归档