Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 放弃最后一点_Javascript_Bit Manipulation - Fatal编程技术网

Javascript 放弃最后一点

Javascript 放弃最后一点,javascript,bit-manipulation,Javascript,Bit Manipulation,给定值:0x9e9090ab(10011110100100001010000101011) 我想忽略第32位来解析该值,这样我就可以得到: 0x1e9090ab(00011101001000010010010101011) 我试图通过位掩码(0x9e9090ab&~0x10000000)执行此操作,但似乎不起作用,并导致有符号负数 我不确定我在这里做错了什么,所以任何帮助都将不胜感激 您需要使用位掩码~0x8000000而不是~0x10000000,因为0x10000000指的是第29位。例如:

给定值:0x9e9090ab(10011110100100001010000101011)

我想忽略第32位来解析该值,这样我就可以得到: 0x1e9090ab(00011101001000010010010101011)

我试图通过位掩码(0x9e9090ab&~0x10000000)执行此操作,但似乎不起作用,并导致有符号负数


我不确定我在这里做错了什么,所以任何帮助都将不胜感激

您需要使用位掩码
~0x8000000
而不是
~0x10000000
,因为
0x10000000
指的是第29位。例如:

var result = 0x9e9090ab & ~0x80000000;

对我来说,这样想更容易:

0x9e9090ab&0x7FFFFFFF

您可以使用以下节点进行比较:

> (0xFFFFFFFF).toString(2)
'11111111111111111111111111111111'
> (0x7FFFFFFF).toString(2)
'1111111111111111111111111111111'

我想我也可以很容易地(0x9e9090ab>1,但希望有人有更好的解决方案。它必须是0x8000000 et而不是0x10000000