XCode位数组:selectedSegmentIndex为十进制

时间:2013-08-13 00:06:45

标签: objective-c

所以我有三个selectedSegmentIndex。我们称之为S1,S2,S3。

它们按从左到右的顺序排列,每个索引为2(0和1)。我想为每个段转换所选索引并将它们转换为整数。例如:

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

这表示二进制011或十进制3。从selectedSegmentIndex变为十进制很容易,因为你只需添加它们:S1.selectedSegmentIndex * 4 + S2.selectedSegmentIndex * 2 + S3.selectedSegmentIndex,它产生3.我遇到麻烦的部分是从一个整数和填充输出这三个selectedSegmentIndex。有人想拍这个吗?谢谢!

1 个答案:

答案 0 :(得分:1)

使用>>将所需位移到位置0,然后使用&关闭所有其他位。

s1.selectedSegmentIndex = (bits >> 2) & 1;
s2.selectedSegmentIndex = (bits >> 1) & 1;
s3.selectedSegmentIndex = (bits >> 0) & 1;