10.3 ARM 体系与架构 编程

一、什么是大小端?

大小端是针对于多字节数据来说的。嵌入式一般是大端模式。

大端模式:低位字节在高地址上,高位字节在地地址上。

小段模式:低位字节在低地址上,高位字节在高地址上。

二、如何判断计算机处理器是大端还是小端?

#include <stdio.h>
int checkCPU(){
    {
        union w {
            int a;
            char b;
        } c;
        c.a =1;
        return(c.b == 1);
    }
}
int main()
{
    if (checkCPU())
        printf("小端\n");
    else
        printf("大端\n");
    return 0;
}

三、如何进行大小端转换?

#include <stdio.h>
#include <string.h>

// 短整型大小端转换
short swap_short(short value) {
    return ((value & 0xFF) << 8) | ((value >> 8) & 0xFF); //之所以 & 是为了避免算数右移。
}

// 整型大小端转换
int swap_int(int value) {
    return ((value & 0xFF) << 24) | ((value & 0xFF00) << 8) |
        ((value >> 8) & 0xFF00) | ((value >> 24) & 0xFF);
}

// 任意长度数

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

C++/嵌入式开发 秋招面经 文章被收录于专栏

一名985硕,在25年秋招中斩获多个C++/嵌入式开发Offer。本专栏将分享我的面经,涵盖C/C++、操作系统、计算机网络、ARM体系与架构、Linux应用/驱动开发、Qt、通信协议及开发工具链等核心内容。

全部评论

相关推荐

04-07 13:49
门头沟学院 Java
26届,民本,2段实习经历,第二段实习3月初结束离职,3月9号开始投简历情况:Boss,智联,前程无忧,应届生App,网申,大概海投了有差不多2000份,2个Boss账号基本投满,投到后面投无可投了,有大概10+场面试,4月2号最终拿到一家中厂的校招offer,还有一家独角兽企业还在评估,估计拿我当备胎,毕竟同批次的甚至也有211硕,应该也是g了的,不再抱期待了。感受:迷茫,内耗,平静我从上年5月出来实习就没有和家里拿钱了,实习工资不高,因此也没有存多少钱,3月份投简历那段时间整个人都是迷茫的,内耗的,每天起来除了背八股就是看项目,但是没有任何的结果,可能对于我这种学历来说也没有说所谓的金三银四,那时候感觉以目前的学历和情况估计要打持久战了,所以在这一个月,我在投简历,背八股,面试的同时,经常也出去干兼职保安,工期都是4天,干了2期,在干兼职的同时确实内心平稳了很多,因为有了一点收入,遇见了不一样的人,做了不一样的事,慢慢的也就平静下来,冷静地看待了,也是正因为这样的状态在我面试的时候不再会紧张,而是平静的去对待。现在打算直接接受这个offer了,这个校招offer是一个实习转正岗,好在转正率高,工资也还行,市场价,因此也不再纠结了,毕竟这是我目前能拿到最好的了,与我学历和情况相近的兄弟们,可能大家也都在内耗,焦躁,但是大家不妨也放平心态试试,做点其他事,所期望的事情一定可以实现的!
点赞 评论 收藏
分享
评论
3
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务