今日のアーキテクチャとコンパイラでビット単位の操作を使用する場合と単純な演算子を使用する場合の違いの規模はわかりません (私の推測では...ほとんどの問題ではほとんどありません)。
私は、今日あなたが書くほとんどのコードが実際には CPU 操作ではなく、データベース アクセス、I/O、ネットワークでボトルネックになっているという事実に基づいています (はい、ここでは冗長です)。
たとえば、JVM のコンパイラは、コードを実行しているアーキテクチャに対してすでに多くの操作を最適化し、開発者からこの必要性を抽象化しています (それが目的です)。
最後に言いたいのは... 読みやすさです。一部のビット操作ファンが何を主張しようとも、コードの途中でのビット操作は、通常、ほとんどの開発者にとって、単に標準的な数学を使用する場合よりもはるかに読みにくくなります。
コードを理解するコストと、コードを変更する必要があるときに誰かがバグを導入する可能性の増加により、リスクはメリットをはるかに上回ります。効率的なコードを書くことは重要ですが、それでも人間が読める必要があります。
免責事項:一部のドメインでは、数学演算の数が多く、これが要因になる可能性がありますが、これは確かに標準ではありません。