8位16位32位数据的拆分与合并程序
2016-06-16 11:14
435 查看
拆分
//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);
相关文章推荐
- Android Studio编译运行project报错:····· finished with non-zero exit value 1
- spring 拦截器过滤登录url 不验证是否登录其他的都拦截验证是否登录才能访问url
- 300. Longest Increasing Subsequence
- SQL加强
- 再谈最大似然估计与最小二乘
- nginx-upload-module模块实现文件断点续传
- 7个杀手级的开源监测工具
- 设计模式(2)-----策略模式
- Sorting File Contents and Output with sort
- 高手速成android开源项目【项目篇】
- 微信支付之退款
- <Android>自定义Log开关
- UIWebView保存图片
- HDCP学习
- 前端发展薪资等杂七杂八
- Django快速搭建Blog
- Xdebug文档(五) 代码覆盖分析
- PhotoShop CS6 安装及破解
- 美欧科学家清晰地探测到引力波
- UEFI模式下安装ubuntu14.04和windows8.1双系统