javascript - NodeJS 中 unsigned short 的位移运算符

标签 javascript node.js

我正在尝试对 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/

相关文章:

javascript - 在p5js中绘制箭头

javascript - 如何在 CRM 中对使用 Soap Request 创建的电子邮件进行换行

javascript - TypeScript 将枚举值分配给另一个枚举值

javascript - 如何合并多个网页并将其转换为 pdf 格式?

javascript - 三.JS FPS控制左右扫射

javascript - 如何使用nodejs将文件内容用双换行符分隔?

node.js - 未处理的拒绝 RangeError : Using transaction with a client that is in monitor mode does not work due to faulty return values of Redis

mysql - 如何在 NodeJS 的变量中存储 "count(*)"值?

node.js - nodejs纯websocket传递状态

php - 根据两个菜单选择转到页面