javascript:将十六进制值转换为带符号的8位整数

javascript: convert hexadecimal value into signed 8-bit integer

本文关键字:带符号 8位 整数 转换 十六进制 javascript      更新时间:2023-09-26

我需要一种使用JavaScript从十六进制值中获取带符号8位整数的方法。到目前为止,我已经尝试过使用parseInt(value, 8),但它似乎被弃用了,我得到了parseInt(0xbd, 8) = 0(当它应该给出-67时)。

我该怎么做?

我只是在javascript中寻找解决方案。来自splig的答案似乎不正确,但它让我找到了解决方案。

我认为当(num>127)时,应该从num中减去256。

var num = parseInt('ff', 16);
if (num > 127) { num = num - 256 }
alert(num);

parseInt的第二个参数是基数,需要16作为十六进制因为你已经告诉它它是十六进制的,0x是可选的。

当你想做一个8位签名的int时,你需要将其转换为手动签名-试试之类的东西

var num = parseInt('bd', 16);
if (num > 127) { num = 128 - num }
alert(num);