8位16位32位数据的拆分与合并程序
2017-05-12 20:28
267 查看
拆分
//16位拆成两个8位
u16 data16 = 0x1234;
u8 data8_H,data8_L;
data8_H = (u8)(data16 >> 8);
data8_L = (u8)data16;
32位拆成4个8位
方法一:
u32 data32 = 0x12345678;
u8 data8_1,data8_2,data8_3,data8_4;
data8_1 = (u8)(data32 >> 24);
data8_2 = (u8)(data32 >> 16);
data8_3 = (u8)(data32 >> 8);
data8_4 = (u8)data32;
方法二:
u32 data32 = 0x12345678;
u8 data8_1,data8_2,data8_3,data8_4;
u8 *pa; //定义指针
pa = (u8 *)(&data32); //将32位地址,强制转换为8位地址
data8_1 = ((char )pa+3);
data8_2 = ((char )pa+2);
data8_3 = ((char )pa+1);
data8_4 = ((char )pa);
合并
2个8位合并成1个16位
u8 data8_H = 0x12;
u8 data8_L = 0x34;
u16 data16;
data16 = ((u16)data8_H << 8) | (u16)(data8_L));
4个8位合并成1个32位
u8 data8_1 = 0x12;
u8 data8_2 = 0x34;
u8 data8_3 = 0x56;
u8 data8_4 = 0x78;
u32 data32;
data32 = ((u32)data8_1 << 24) | ((u32)data8_2 << 16) | ((u32)data8_3 << 8) | ((u32)data8_4);
//16位拆成两个8位
u16 data16 = 0x1234;
u8 data8_H,data8_L;
data8_H = (u8)(data16 >> 8);
data8_L = (u8)data16;
32位拆成4个8位
方法一:
u32 data32 = 0x12345678;
u8 data8_1,data8_2,data8_3,data8_4;
data8_1 = (u8)(data32 >> 24);
data8_2 = (u8)(data32 >> 16);
data8_3 = (u8)(data32 >> 8);
data8_4 = (u8)data32;
方法二:
u32 data32 = 0x12345678;
u8 data8_1,data8_2,data8_3,data8_4;
u8 *pa; //定义指针
pa = (u8 *)(&data32); //将32位地址,强制转换为8位地址
data8_1 = ((char )pa+3);
data8_2 = ((char )pa+2);
data8_3 = ((char )pa+1);
data8_4 = ((char )pa);
合并
2个8位合并成1个16位
u8 data8_H = 0x12;
u8 data8_L = 0x34;
u16 data16;
data16 = ((u16)data8_H << 8) | (u16)(data8_L));
4个8位合并成1个32位
u8 data8_1 = 0x12;
u8 data8_2 = 0x34;
u8 data8_3 = 0x56;
u8 data8_4 = 0x78;
u32 data32;
data32 = ((u32)data8_1 << 24) | ((u32)data8_2 << 16) | ((u32)data8_3 << 8) | ((u32)data8_4);
相关文章推荐
- 8位16位32位数据的拆分与合并程序
- 8位16位32位数据的拆分与合并程序
- 【讨论】8位16位32位等内建类型数据操作的比较
- 32位ARM寄存器是如何只传递8位、16位数据的——由uboot nand 操作想到的
- (Sql Server)数据的拆分和合并
- (Sql Server)数据的拆分和合并
- 计算机颜色格式( 8位 16位 24位 32位色)
- 在8位单片机中对16位INT型数据的操作
- Access和Excel数据库表32位64位程序通用访问方法
- SequenceInputStream类的简单介绍。以及用该类合并集合文件数据的程序代码。
- VC编程中的数据类型转换16位数据(WORD)合成32位数据(DWORD),VARIANT 、_variant_t 与 COleVariant,BSTR、_bstr_t与CComB
- VC编程中的数据类型转换16位数据(WORD)合成32位数据(DWORD),VARIANT 、_variant_t 与 COleVariant,BSTR、_bstr_t与CComB
- 读取文件数据: RFile(需8位转16位) 和 RFileReadStream
- X86 32位机器程序运行中多字节数据内存使用
- SQL拆分指定的数据,在将修改拆分的字符串,最后在合并字符串
- clamp32 and clamp16 钳住16位精度和32位精度的数据方法
- 用C++写个程序,如何判断一个操作系统是16位还是32位的?不能用sizeof()
- 微型计算机一般分为4位、8位、16位、32位和64位机几种
- ASP 常用MD5加密程序(16位、32位、小写、大写)
- VC编程中的数据类型转换16位数据(WORD)合成32位数据(DWORD),VARIANT 、_variant_t 与 COleVariant,BSTR、_bstr_t与CComB