面试问题获取整数的每个字节
主题:获取每个字节0x12345678。方法一:关节结构与结构#include typedef unsigned int uint32_t; typedef unsigned char uint8_t;联合bit32_data {uint32_t数据;结构{uint8_t byte0; uint8_t byte1; uint8_t byte2; uint8_t byte3;}字节;}; int main(void){union bit32_data num; num.data = 0x12345678; printf(“ byte0 = 0x%x
&quot ;, num.byte.byte0); printf(“ byte1 = 0x%x
”,num.byte.byte1); printf(“ byte2 = 0x%x
”,num.byte.byte2); printf(“ byte3 = 0x%x
”,num.byte.byte3); return 0;}操作结果:该方法的缺点是它会受到大小字节顺序的影响。
仅当大小顺序清晰时才可以使用它。以上是小端模式下的操作。
结果。结构和union方法不仅对获取数据的每个字节有用,而且在数据协议,数据位拆分等方面也很实用,然后我将对其进行更详细的介绍。
小型和小型终端的推荐文章:“ CPU的小型和小型模式? 》方法2:移位操作#include#defineGET_LOW_BYTE0(x)((x> 0)& 0x000000ff)/ *获得第0个字节* /#define GET_LOW_BYTE1(x)((x>>> 8)& 0x000000ff )/ *获取第一个字节* /#defineGET_LOW_BYTE2(x)(((x>> 16)& 0x000000ff)/ *获取第二个字节* /#defineGET_LOW_BYTE3(x)((x>>> 24)& 0x000000ff )/ *获取第三个字节* / int main(void){unsigned int a = 0x12345678; printf(“ byte0 = 0x%x ”,GET_LOW_BYTE0(a)); printf(“ byte1 = 0x%x ”,GET_LOW_BYTE1(a)); printf(“ byte2 = 0x%x ”,GET_LOW_BYTE2(a)); printf(“ byte3 = 0x%x ”,GET_LOW_BYTE3(a)); return 0;}操作结果:这也是获取每个字节数据的最常用和最有效的方法。这种类似的位操作被广泛应用于嵌入式应用中,例如LCD操作,这意味着像素颜色值,FLASH操作等。
推荐的位操作文章:“ C语言和嵌入式位操作本质技能的概述”。最后,以上就是这种共享。
如果您认为文章不错,请转发并观看。这也是我们不断更新的动力。
猜猜您喜欢它:嵌入式Hodgepodge Reader好处:2020年第二期精选干货的原始纸币摘要| protobuf-c的嵌入式平台使用1024G嵌入式资源进行广播!包括但不限于C / C ++,MCU,Linux等。在官方帐户聊天界面上回复1024,您可以免费获得它!免责声明:本文的内容经21ic授权后发布,版权归原始作者所有。
该平台仅提供信息存储服务。本文仅代表作者。
个人观点不代表该平台的立场。如有任何疑问,请与我们联系,谢谢!。
仅当大小顺序清晰时才可以使用它。以上是小端模式下的操作。
结果。结构和union方法不仅对获取数据的每个字节有用,而且在数据协议,数据位拆分等方面也很实用,然后我将对其进行更详细的介绍。
小型和小型终端的推荐文章:“ CPU的小型和小型模式? 》方法2:移位操作#include#defineGET_LOW_BYTE0(x)((x> 0)& 0x000000ff)/ *获得第0个字节* /#define GET_LOW_BYTE1(x)((x>>> 8)& 0x000000ff )/ *获取第一个字节* /#defineGET_LOW_BYTE2(x)(((x>> 16)& 0x000000ff)/ *获取第二个字节* /#defineGET_LOW_BYTE3(x)((x>>> 24)& 0x000000ff )/ *获取第三个字节* / int main(void){unsigned int a = 0x12345678; printf(“ byte0 = 0x%x ”,GET_LOW_BYTE0(a)); printf(“ byte1 = 0x%x ”,GET_LOW_BYTE1(a)); printf(“ byte2 = 0x%x ”,GET_LOW_BYTE2(a)); printf(“ byte3 = 0x%x ”,GET_LOW_BYTE3(a)); return 0;}操作结果:这也是获取每个字节数据的最常用和最有效的方法。这种类似的位操作被广泛应用于嵌入式应用中,例如LCD操作,这意味着像素颜色值,FLASH操作等。
推荐的位操作文章:“ C语言和嵌入式位操作本质技能的概述”。最后,以上就是这种共享。
如果您认为文章不错,请转发并观看。这也是我们不断更新的动力。
猜猜您喜欢它:嵌入式Hodgepodge Reader好处:2020年第二期精选干货的原始纸币摘要| protobuf-c的嵌入式平台使用1024G嵌入式资源进行广播!包括但不限于C / C ++,MCU,Linux等。在官方帐户聊天界面上回复1024,您可以免费获得它!免责声明:本文的内容经21ic授权后发布,版权归原始作者所有。
该平台仅提供信息存储服务。本文仅代表作者。
个人观点不代表该平台的立场。如有任何疑问,请与我们联系,谢谢!。
- 电话:0797-4282799
- 邮箱:sales@tonevee.com
- 联系人:李先生 13510435585
- QQ:
- 地址:江西省赣州市定南县良富工业区电子产业区5栋

