1
EMCAScript6では、のエラーを表すbinary literalsがあります。0b
または0B
という接頭辞を使用する方法があります。私はそれを試していて、負の数を表現する方法を見つけることができませんでした(2の補数を使用していないので)。何か不足していますか?実際の仕様でバイナリリテラルがどこで説明されているのかわかりません。ECMAScript 6の負のバイナリリテラル
私は~(num - 1)
または-num
のような操作でそれを自分で実装することができたとします
function twosComplement(num) {
return ~(num - 1);
}
var flag = 0b100;
console.log(flag);
console.log(twosComplement(flag));
// is this output normal? I thought binary used a sign bit
console.log(twosComplement(flag).toString(2));
'-0b100'?私は、バイナリリテラル(または他の数値リテラル)が特定のバイナリ表現に結びついていると考えられるとは思わないので、ネガティブな結果が必要な場合は、リテラル値を負にする必要があります。 –
@JeremyBanksあなたはおそらく正しいでしょう。私は、おそらく彼らはそれを抽象化していなかったかもしれないことに興奮していました。仕様の参照はありますか? – 4castle
* BinaryIntegerLiteral *を含む仕様の数値リテラル[ここにある](http://www.ecma-international.org/ecma-262/6.0/#sec-literals-numeric-literals)。接頭辞 '-'を指定しているようですので、否定演算子だと思います。 –