2 の補数表記を使用して、符号付き整数を 16 進数としてエンコードする必要があります。たとえば、変換したい
e.g. -24375 to 0xffffa0c9.
これまでのところ、次の行に取り組んできました。
parseInt(-24375).toString(2)
> "-101111100110111"
これは Wolfram Alphaが表示するものと一致しますが、数値の符号付き 24 ビット int 表現 (ffffa0c9) を取得する方法がわかりません。
符号なしの 2 進数を取り、これを 2 の補数として表す方法を考え出しました。
~ parseInt("101111100110111", 2) + 1
> -23475
しかし、この数値のバイナリ表現を取得して16進数に変換できるかどうかはわかりません。
何か案は?