2016-07-11 50 views

回答

1

您需要考虑否定符表示为2的赞美,并且JavaScript使用32位整数执行按位运算。因此,如果它是负值,则需要用1填充数字的前16位。所以,这里是一个解决方案:

var sign = byteA & (1 << 7); 
var x = (((byteA & 0xFF) << 8) | (byteB & 0xFF)); 
if (sign) { 
    result = 0xFFFF0000 | x; // fill in most significant bits with 1's 
} 
相关问题