如何将二进制数转换为有符号十进制数

Cha*_*ait 3 javascript binary decimal

我有一个像这样的二进制数.. var data = "1100110010"。我试图在 Javascript 中将其转换为适当的有符号十进制数。

我使用的步骤如下

1) var data = "1100110010"; var bin2dec = parseInt(data,2).toString(10);

bin2dec 给出转换后的十进制数为 "818" 。

但我也想访问二进制数的有符号十进制。

此二进制代码的带符号十进制数是“-206”。

如何从给定的二进制数访问有符号和无符号十进制值。请告诉我 。任何想法都会有所帮助

Jam*_*ght 5

可以使用 JavaScript 的类型化数组将二进制数转换为有符号十进制数。

const unsigned = 0b1111111100110010;
const [ signed ] = new Int16Array([0b1111111100110010]);

console.log(unsigned); // => 65330
console.log(signed); // => -206
Run Code Online (Sandbox Code Playgroud)

我确信这会比按位运算的性能低,但它肯定是更少的代码。