0

Javascriptが次の結果をもたらす理由を誰かが説明できますか?

~3 = -4
~3.346346 = -4
~-3 = 2
4

2 に答える 2

0

これは、負の数が2 の補数として格納されるためです。

minusB = ~B + 1;

あなたの場合、上記の式を逆にします。

  • -3として保存され~3 + 1ます。したがって、~-3は と同等-(-3) - 1 = 2です。
  • ~3.346346は最初に に丸められ3、次に次の~3ように読み取ることができます。-3 - 1 = -4

2 の補数が (符号に別のビットを使用する代わりに) 使用される理由は、符号に関係なく減算と加算が自明になるためです。

于 2014-01-09T22:48:48.777 に答える