gpt4 book ai didi

algorithm - 给定一组四个中的两个位,找到另外两个位的位置

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:35:44 25 4
gpt4 key购买 nike

我正在研究一个简单的组合学部分,发现我需要在给定 4 位 srring 中其他两位的位置的情况下恢复两位的位置。

例如,(0,1)映射到(2,3),(0,2)映射到(1,3)等,总共有六种组合。

我的解决方案是使用四个嵌套的三元运算符来测试位:

ab is a four bit string, with two bits set.
c = ((((ab & 1) ? (((ab & 2) ? ... ))) : 0)
abc = ab | c
recover the last bit in the same fashion from abc.

我必须澄清,在不使用 for 循环的情况下,我的目标语言是 C++ 元编程模板。我知道我明确指定了语言,但我认为它仍然不可知

你能想到更好的方法/更聪明的方法吗?谢谢

最佳答案

只需将值与二进制 1111 进行异或 - 这将翻转四位,为您提供另外两位。

cd = ab ^ 0xF;

关于algorithm - 给定一组四个中的两个位,找到另外两个位的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2503863/

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