一些有意思的小技巧

1.双!符号

  众所周知,!表示逻辑非,如果我们需要完成这样一个功能:当一个字节的变量为 0 时,返回 0;当其为其他时,返回 1 。通常会有两种实现方式,一种是通过 if-else 语句,另一种是通过问号表达式 bit = byte?1:0。第二种方式相对于第一种方式来说,执行效率更高。现在来讲一下第三种方式,以判断 GPIO 引脚方式为例,通常用如下表达式:

bit = (GPIOB->IDR & GPIO_Pin_4) ? 1 : 0;

如果使用 !! :bit =  !!(GPIOB->IDR & GPIO_Pin_4);这行代码也只需要一条指令,执行效率上与第二种方式差不多,由于我电脑丢了。。暂时没法对比

 

未完待续,慢慢积累。

posted @ 2022-03-10 12:56  一只吃水饺的胡桃夹子  阅读(66)  评论(0编辑  收藏  举报