gpt4 book ai didi

c - 如何简化我的 "equation"以在 3 和 5 之间切换?

转载 作者:太空狗 更新时间:2023-10-29 15:10:01 24 4
gpt4 key购买 nike

通过以下方式很容易在0和1之间“切换”:

 int i = 0;
i = (++i) % 2; // i = 1
i = (++i) % 2; // i = 0

同样,我发现可以在3和5之间“切换”:

 int i = 3;
i = (((i * 2) - 1) % 3) + 3; // i = 5
i = (((i * 2) - 1) % 3) + 3; // i = 3

虽然这感觉很麻烦,但我正在寻找一种更简洁的方法来做到这一点。可以简化吗?如果是这样,如何?顺便说一下,我实际上是在用它做某事。

最佳答案

更短:

int i = 3;
i = 8 - i;
i = 8 - i;

当然,对于 0/1 切换,您应该这样做:

int i = 0;
i = 1 - i;
i = 1 - i;

通常,对于 a/b 切换,执行以下操作:

int i = a;
i = (a + b) - i;
i = (a + b) - i;

这是如何运作的?嗯,a + b - ab,而 a + b - ba。 :-D

关于c - 如何简化我的 "equation"以在 3 和 5 之间切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18394406/

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