0

したがって、selectedSegmentIndex が 3 つあります。それらをS1、S2、S3と呼びましょう。

それらは左から右に順に並んでおり、それぞれのインデックスは 2 (0 と 1) です。各セグメントの選択したインデックスを変換し、それらを整数に変換したいと思います。例えば:

S1.selectedSegmentIndex = 0;
S2.selectedSegmentIndex = 1;
S3.selectedSegmentIndex = 1;

これは 2 進数で 011、10 進数で 3 を表します。S1.selectedSegmentIndex*4 + S2.selectedSegmentIndex*2 + S3.selectedSegmentIndex を足すだけなので、selectedSegmentIndex から 10 進数に変換するのは簡単です。これは 3 になります。これら 3 つの selectedSegmentIndex のうち。誰でもこれを刺したいですか?ありがとう!

4

1 に答える 1

1

を使用>>して目的のビットを位置 0 に配置し、次に を使用&して他のすべてのビットをオフにします。

s1.selectedSegmentIndex = (bits >> 2) & 1;
s2.selectedSegmentIndex = (bits >> 1) & 1;
s3.selectedSegmentIndex = (bits >> 0) & 1;
于 2013-08-13T00:14:55.980 に答える