2016-05-10 4 views
-4

最終値は ""(データ型が長い)です。私は論理演算子ORを使用して値を取得する

MONDAY(0x0002) 
TUESDAY(0x0004) 
WEDNESDAY(0x0008) 
THURSDAY(0x0010) 
FRIDAY(0x0020) 
SATURDAY(0x0040) 
SUNDAY(0x0080) 

のようないくつかの列挙型は、どのように私はこの列挙型の値を組み合わせ、最終的なlong値を取得する方法を、チェックすることができますか?

+1

さて、どのようにして起動する3221120076の価値を手に入れたのですか?それは何を表しているのですか? –

+0

はい、私はすでに考えていましたが、私は外部データを扱っているので、おそらく問題です。 @JonSkeet – user997777

+0

さて、それは私たちがあなたを助けることは問題ではありません。価値を組み合わせる*可能な方法を作り上げることができますが、あなたが本当に望むのと同じ意味であるという保証はありません。 –

答えて

1

私は、各値を1回だけ使用できるとします。 それがそうである場合は、binairyで数字を変えたいと思うでしょう。それを行うため

的アルゴリズムである:11

11%2 == 1:例と ?はいtmp = 1; 11-1を2で割る

5%2 == 1?はいtmp = 11;同上;

2%2 == 1? no tmp = 110; 2を2で割ります。

1%2 == 1?はいtmp = 1101;

今TMPを逆にして、あなたはbinairyで11を取得1011