搜索
写经验 领红包
 > 自然

C语言置零直接 =0不就好了,为什么要按位与?

问:C语言置零直接 =0不就好了,为什么要按位与?

别人代码里看到的,不太明白……

答:

除非您是在单片机上编程,否则没有必要在这种问题上浪费时间。

赋值置零跟位与置零的区别仅仅是赋值指令要比位与指令多几次运算而已。这点差异跟PC的CPU性能相比,完全可以忽略不计。另外,PC的编译器做得比较完善,通常可以主动进行优化,使得赋值置零跟位与置零的编译结果相差无几。

在性能较低的单片机上,这种差异会比较明显一些。同时,单片机用的编译器大都比较简单,不会做主动优化,写代码的时候可能注意一些会比较好。

不管怎么说,这两种方式,对程序的执行效率影响都不大,抠得多了,给人感觉像是在拼命研究茴字的写法—有那么点迂腐。

如有冒犯,请一定海涵。