小盒子的小盒

【原创】面试题解析

0
阅读(1984)

评价下面的代码片断:

unsigned int zero = 0;

unsigned int compzero = 0xFFFF;

从表面上来看,这段代码写的没有任何的错误,这是因为在好多人的眼里int型只占两个字节,但是在不是16位的处理器上的时候,这段代码就不正确了!

应该这么写:

unsigned int compzero = ~0;

其实对于一个好的程序员,一个好的嵌入式程序员来讲,应该熟悉每个处理器的字长,好的嵌入式程序员非常准确地明白硬件的细节和它的局限!

我觉得:要写代码就写规范的代码,要写代码就要写可移植性强的代码。