我正在尝试对 nodeJS/javascript 中的 unsigned int 执行 Bitwise NOT
。在我的理解中,每个按位运算符都是在有符号的 32 位整数上完成的,这让我在想在无符号的 16 位整数(短)上执行时感到困惑。这就是我想要做的:
c#
ushort value = 41003;
value = (ushort)~value;
//Value is now 24532 which is correct
nodeJS
var value = 41003;
value = ~value;
//value is now -41004 wich is NOT correct
如何在 nodeJS/javascript 中将最后一个值转换为无符号的 16 位整数?
最佳答案
您可以按位执行 AND 以获得相同的结果:
value = ~value & 0xFFFF;
关于javascript - NodeJS 中 unsigned short 的位移运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44755417/