本文主要包含以下内容:
1.两个字节合成一个字。
2.两个字合成一个双字。
3.一个双字拆分成两个独立字。
1.先建立两个联合体【Un_Word】和【Un_DWord】,联合体中的内容分别如下:
2.在程序变量声明区中创建联合体变量 【Un_Word1】和【Un_DWord1】,同时声明用于赋值的两个字节和两个字变量,分别为【nByte_Low】,【nByte_High】,【nWord_Low】,【nWord_High】,然后在程序区中将变量【nByte_Low】,【nByte_High】赋给【Un_Word1】,将变量【nWord_Low】,【nWord_High】赋给【Un_DWord1】。
3.最终启动仿真观察结果。
结果符合预期,低字节16#34和高字节16#12合成到联合体【Un_Word1】的【nWord】中输出16#1234;低字16#5678和高字16#1234合成到联合体【Un_DWord1】的【nDWord】中输出16#12345678。
至此,两个独立字节合成字,以及两个独立字合成双字功能完成。
补充:
经实践发现也可以将字拆成两个独立字节,或将双字分拆成两个独立的字。
4.将双字拆分成两个独立的字,其实就是将赋值顺序进行调换一下即可,十分的便捷有效。
首先待分拆的双字中填入“16#12345678”,然后用两个字分别接回拆分后的两个字,即可分拆成“16#5678”和“16#1234”。
以下为仿真运行结果:
一个字分拆成两个字节的实现同理。