gpt4 book ai didi

c - 根据条件应用/删除位掩码

转载 作者:太空狗 更新时间:2023-10-29 16:13:21 26 4
gpt4 key购买 nike

我想简化以下表达式(block 是一个整数,01):

if (block)
opts = opts & ~O_NONBLOCK;
else
opts = opts | O_NONBLOCK;

这是我想出的:

opts = block ? opts & ~O_NONBLOCK : opts | O_NONBLOCK;

不过,我敢肯定,有一种更聪明的方法可以做到这一点。

最佳答案

这个怎么样?

opts = (opts & ~O_NONBLOCK) | (!block * O_NONBLOCK);

虽然我更喜欢你的第一个选项的明确性,而不是这个有点神秘的解决方案。

关于c - 根据条件应用/删除位掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14074593/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com