JavaScript の Double Bitwise NOT 演算子 (~~) が負の数に対して異なる動作をするのはなぜですか?

Barbara Streisand
リリース: 2024-11-01 17:26:30
オリジナル
1025 人が閲覧しました

Why Does the Double Bitwise NOT Operator (~~) in JavaScript Behave Differently for Negative Numbers?

JavaScript における Double Bitwise NOT 演算子 (~~) の目的は何ですか?

JavaScript では、「二重チルダ」(~ ~) 演算子は、二重のビットごとの NOT 演算子です。これは、正の数値に対する Math.floor() メソッドの高速な代替として機能します。

正の数値に適用すると、~~ はビット単位の NOT 演算を 2 回実行します。これにより、Math.floor() と同様に、数値の小数部分が効果的に切り捨てられます。

たとえば、~~5.8 は、Math.floor(5.8) と同様に 5 を返します。

ただし、~~ は負の数では異なる動作をします。切り捨てるのではなく、小数部分を切り捨て、基本的に整数をゼロに戻します。

たとえば、~~-5.8 は -5 を返しますが、- に切り捨てられる Math.floor(-5.8) とは異なります。 6.

~~ は負の数値での使用を意図したものではなく、負の入力に対する動作は JavaScript 環境によって異なる可能性があることに注意することが重要です。したがって、負の値を扱う場合は、Math.floor() またはその他の適切な丸めメソッドを明示的に使用することをお勧めします。

以上がJavaScript の Double Bitwise NOT 演算子 (~~) が負の数に対して異なる動作をするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート