我需要使用二进制补码将一个带符号的整数编码为十六进制数。例如,我想要将
e.g. -24375 to 0xffffa0c9.
到目前为止,我一直在按照以下方式工作:
parseInt(-24375).toString(2)
> "-101111100110111"
这与 Wolfram Alpha 显示的 相符,但是我不确定如何得到带符号的 24 位整数表示形式 (ffffa0c9)。
我已经计算出如何将无符号二进制数表示为二进制补码:
~ parseInt("101111100110111", 2) + 1
> -23475
但我不确定如何获取该数字的二进制表示以转换为十六进制。
有什么建议吗?