今天参加了达创科技的嵌入式软件工程师笔试,被虐的很开心。笔试交答卷的时候还傻比的问了工作人员你们这招不招实习生(本人目前大三),估计那小哥也是醉了,招聘要求都没搞清楚就进来笔试。。。。。虽然只是抱着试一试的心态去玩玩,也算是一个良好的的开始。
言归正传以下是面试是遇到的问题总结:
试题1:请补全C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
int checkCPU( )
{
{
union w
{
int a;
char b;
} c;
c.a = 1; //空1
return(c.b ==1); //空2
}
}
对于union联合体,在它里面定义的所有数据类型共享一段内存,内存大小为其中内存最大的数据类型,知道这一特性后,我们再来看看处理器大端小端的区别。
嵌入式系统开发者应该对Little-endian和Big-endian模式非常了解。采用Little-endian模式的CPU对操作数的存放方式是从