function binToComplement(value, length) {
var binVal = (Array(length).join("0") + value).slice(-length);
if(binVal.substring(0, 1) == '0') {
return parseInt(binVal, 2);
}else {
var array = binVal.substring(1, length).replace('-',0).split('');
for(var i=0; i<array.length; i++) {
array[i] = array[i] == '0' ? '1' : '0';
}
return parseInt(array.join(''), 2) + 1;
}
}
function intToHex(value, length) {
var number = value.toString(16);
return (Array(length).join("0") + number).slice(-length);
}
var result = binToComplement('11111111111111111111111111001110', 32);
console.log(result * (-1));
console