我正尝试在nodeJS/javascript中对一个无符号整数执行Bitwise NOT。在我的理解中,每个按位运算符都是在有符号的32位整数上完成的,这让我在想要在无符号16位整数(短)上做这件事时感到困惑。这就是我想要做的:ushort value = 41003;//Value is now 24532 which is correct
nodeJS
通常,C要求将二元运算符的操作数提升为更高级别的操作数类型。可以利用这一点来避免使用冗长的强制转换填充代码,例如:y = x+0ULL << 40;unsigned long long y = x << 32ULL;
我期望右操作数的类型会导致左操作数被提升为unsigned long long,以便移位成功。