我有一个以十六进制数给出的带符号值,例如,0xffeb并希望将其转换-21为"正常"Javascript整数.
到目前为止我写了一些代码:
function toBinary(a) { //: String
var r = '';
var binCounter = 0;
while (a > 0) {
r = a%2 + r;
a = Math.floor(a/2);
}
return r;
}
function twoscompl(a) { //: int
var l = toBinaryFill(a).length;
var msb = a >>> (l-1);
if (msb == 0) {
return a;
}
a = a-1;
var str = toBinary(a);
var nstr = '';
for (var i = 0; i < str.length; i++) { …Run Code Online (Sandbox Code Playgroud)