私はスポーツプログラミングサービスの初心者です。なぜスポーツ番組でビット演算子が普及しているのですか
ここは例です。
2つの 配列の間に違いがある(1つの要素によって異なるとみなす)関数を作成します。
ソリューションは、次のとおりです。
let s = x => ~eval(x.join`+`);
let findDiff = (a, b) => s(b) - s(a);
と
let findDiff = (a, b) => eval(a.concat(b).join`^`);
私が知りたいのですが:
- これら二つの例(ビット単位の部分)の説明を。
- 10進数にビット演算子を使用する利点は何ですか?
- これは通常のビット演算ではなくビット単位の演算で高速に処理できますか?
更新: 私の質問は~~ vs parseInt
に重複としてマークされ、なぜ私は完全には理解していませんでした。それは、なぜこの演算子がparseInt
を置き換え、おそらくスポーツプログラミングに役立つかを知っておくとよいでしょう。しかし、それは私の質問に答えることはありません。
必ずしも高速である必要はありません。彼らは簡潔です(そして、通常、読むのは難しいですが、それは副作用です)。コードゴルフはビット単位の演算子に焦点を絞らず、コードの長さについてです。このような種類の質問では、SOの代わりに[該当するコミュニティ](http://codegolf.stackexchange.com/questions/2682/tips-for-golfing-in-javascript)をご検討ください。 – estus
私の例では '~~' parseInt?](http://stackoverflow.com/questions/10841204/vs-parseint) – estus
@estusの複製があります。 –