0

ビットの仕組みに関するオンライン チュートリアルをいくつか受講しました。いくつか質問がありますが。インターネットで検索しましたが、探しているものが見つかりませんでした。間違ったキーワードを検索していた可能性があります。

ビット単位を使用してオプションまたは許可システムを構築したいとしましょう (それが正しい用語だと思います)。以下の躊躇があります。

1) & などを使用すると衝突する可能性はありますか?

2) 衝突の可能性がある場合、許可を設計するときにどのような手順を実行する必要がありますか? 500 を超えるなど、非常に大きな権限セットがある場合、権限番号は変わりますか?

うまくいけば、私は私の質問を正しく伝えました。そうでない場合は、私に知らせてください。言い換えてみます。

編集:: ここで同様の質問が回答されたと思います

ビットごとの演算子を使用したさまざまなモジュールのユーザー ロールのアクセス許可

4

1 に答える 1

1
  1. どんな衝突?
  2. 500 の異なるアクセス許可の場合、500 ビットを格納する必要があります。500 ビット以上の値を直接処理できるコンピュータは存在しません。ビット システムでは、基本的に、基礎となる CPU が提供できるもの (たとえば、8、16、32、64 ビット サイズの値) の使用に制限されます。それを超えるものは、複数の異なるメモリ チャンクに分割する必要があります。

例えば

permission_flags && (1 << 475)

ビット #63 を超えると、CPU が直接サポートできる範囲を超えてしまうため、存在するすべてのプラットフォームで失敗します。

于 2012-11-08T16:10:54.633 に答える