C语言取模运算(取余运算)“%“运算符,不是布尔指令,cnt % 2 可以用来点灯

取模(除法运算的余数)(%)

取模运算符产生下列表达式给定的余数,其中 e1 是第一个操作数,e2 是第二个操作数:e1 - (e1 / e2) * e2,其中两个操作数都是整型类型。

取模表达式中被 0 除的结果是不确定的,将会导致运行时错误。 因此,以下表达式生成未定义的错误结果

i % 0
f / 0.0

如果取模表达式的两个操作数具有相同的符号,则结果为正。 否则,结果为负。 取模运算的符号的结果是实现定义的。

以下为ESP32S3取模运算的结果,示例列出了取模数字为2-5、10、20的程序及结果。

%2

printf("cnt: %d", cnt);
        vTaskDelay(500 / portTICK_PERIOD_MS);
        gpio_set_level(GPIO_OUTPUT_IO_2, cnt % 2);
        printf(" %d\n", cnt  % 2);
        cnt++ ;

任何数%2都可以检测是否为偶数,如果结果等于1则表示为奇数
这个可以干什么?可以点灯:)
还可以控制点灯的占空比_
cnt: 0 0
cnt: 1 1
cnt: 2 0
cnt: 3 1
cnt: 4 0
cnt: 5 1
cnt: 6 0
cnt: 7 1
cnt: 8 0
cnt: 9 1
cnt: 10 0

%3

printf("cnt: %d", cnt);
        vTaskDelay(500 / portTICK_PERIOD_MS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值