私は単純な組み合わせ部分に取り組んでおり、4 ビット SRRING で他の 2 ビットの位置を指定して 2 ビットの位置を復元する必要があることがわかりました。
たとえば、(0,1) は (2,3) に、(0,2) は (1,3) にマップされ、合計 6 つの組み合わせになります。
私の解決策は、ネストされた 4 つの三項演算子を使用してビットをテストすることです。
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++ メタプログラミング テンプレートです。言語を明示的に指定したことは知っていますが、それでも私の意見では不可知論的です
より良い方法/より賢い方法を考えられますか? ありがとう