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是一个实习转正岗,好在转正率高,工资也还行,市场价,因此也不再纠结了,毕竟这是我目前能拿到最好的了,与我学历和情况相近的兄弟们,可能大家也都在内耗,焦躁,但是大家不妨也放平心态试试,做点其他事,所期望的事情一定可以实现的!
点赞 评论 收藏
分享
昨天 00:55
中北大学 Java
先介绍下基本情况:北京游戏公司,3月11笔试,3月14(周六面试技术面),3月16hr面出结果,游戏公司4月1号入职报道,4月8日被通知开除,简单说明一下我的情况主修java,hr面时通知主要以go开发,入职当天后第一天会让你做一个首日入职熟悉的任务完成,公司需要写日报周报,基本上都是实习生,目前整体人数大约在120人上下,入职第二天开始与产品对接需求,随后push代码仓库,(我分配到的是后端python+前端vue+ts的网页项目),对接需求时产品那边没有明确规范的prd文档,大部分需求都是以产品想法为主,因此需要多次确认对接,所以会有大大小小零零碎碎的会议用于对接需求,大致基本情况是从UI设计、前端代码、交互、后端逻辑、数据库设计、功能测试都需要自己做,支持使用AI(我在面试的适合明确的说明了自己主java开发,实际上公司c#,python,go,等都用,就是不用java,本人并不反感跨语言),并和产品讨论后约定在正式开发5个工作日左右交付实习第三天(4月3号)被通知需要写需求文档(先是给了一个excel表格,让拆分任务,我按照自己之前实习做拆分的方法,结果提交上去后被回复四个字:完全不对),后改用一共word文档并提供了一个模板,我从需要设计几个界面,数据如何获取,接口设计等方面开始梳理逻辑(漏掉了测试流程和相关case,当时以为有专门的测试同学因此没写,二次被打回,后续补充),文档一直在修改,同步开发任务也在和一起对需求的开发同学推进,并在周五晚和产品同步进度,当时一切正常,需求到手后实际开发时间大约3天左右,和同一批入职的实习生同学对接功能后界面已经可以使用了,4月8号被通知辞退重点来了:与人事交谈过程中有几点让我大受震撼1、先说辞退我的原因:总结下来就是三点,a、说我对工作没有激情与上进心,对实际负责内容不熟悉不负责,b、上班时间很频繁的玩手机(对于这点我可以很明确的说明我在做什么,第一天:首日任务中明确要求了,需要在谷歌play商店中下载公司的游戏产品试玩,第二天后:因为公司支持AI&nbsp;Coding,而我又是跨语言,而且公司很多账户都需要用手机登录,例如:谷歌账户、gitlab、github、codex/claude中转、官网登录,梯子节点等等等等都需要手机频繁扫码登录,这点我确实有经常拿起手机,就事论事),c、说我电脑挂着微信qq(这点也不否认,我确实会挂着,但是她本人电脑上也挂着微信,这点作为辞退我的原因不是很认可)实习第四天:也就是清明节后,接下来我觉得离谱的来了,人事在与我交谈的过程中,多次强调我文档写的很有问题并对我的能力和态度产生很大的怀疑:(这是在没有任何样例文档的前提下,和我同批对接的实习生同样不知情,不断的拿我文档测试漏写说事,说我不懂得如何工作),说我工作不懂的不知道问(公司中所有开发实习生的leader都是一个人,业务吃紧很忙,基本上问一个问题平均一小时才会回复你一次,完全不如自己上网搜或者问AI解决来的快),有一点让我难绷的是,和我交谈过程中说我没有多问问题,问了问题之后给我解答是在浪费人家宝贵的时间,并且语气中带有一副高高在上的感觉。原话是:“我们为你解答问题本身就是一件不划算的事情,你的时间分币不值”当时我听到这里差点跳起来,后续我问了一个问题:“对于同一批实习生,你为什么认为我的工作不认真不端正”,此问题被回避,接着拿我测试步骤漏写了劈头盖脸说事,此后对于我文档重重复复的多次说明写的有问题为什么不去问,(这里这点就很矛盾,我问了,她说浪费宝贵的时间,不问,说我工作态度不端正不积极,有一说一真的难办),随后又继续说他们公司招人浪费了多少人力财力,提供了多少资源,大致就是说“我们提供了这么多,而你一点诚意都没有”的意思,聊到最后的一句话是:我们公司的转正率是很高的,基本上毕业的都可以转正,因此留存率非常好,话完扔给我一份资源离职申请,整套操作行云流水总结一下这四天实习我对公司的印象:大家基本没有交流,接业务的通常是俩个人一组,对实习生基本散养,会分配任务,改动点基本是产品口头描述,加班极其严重,平均完善12点半到凌晨一点左右,给我感觉是,大家各忙各的,不在乎你产出效率如何,只在乎形式上你工作态度是否&quot;认真&quot;对待了,leader基本见不到,反正我实习这四天连leader长什么样都不清楚,比较好的地方是:公司包午餐晚餐,味道还可以,这就是我在这家公司四天实习的全流程
春招至今,你收到几个面试...
点赞 评论 收藏
分享
评论
3
1
分享

创作者周榜

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