javascript中带有无符号32位整数的位移位/类型转换
本文关键字:类型转换 整数 32位 无符号 javascript | 更新日期: 2023-09-27 18:24:45
我正试图将一些复杂的C#比特转换代码转换为javascript(节点),但我在这种转换方面遇到了问题,例如:
var d = false;
var k = 61;
var dd = 103;
uint r = 2924539136;
r |= unchecked((byte)(d ? (k + dd) : (k - dd)));
Console.WriteLine("result: " + r); // 2924539350
有没有什么方法可以将javascript中的(字节)转换复制到它计算我要查找的值的地方,到目前为止我已经有了,但结果只是-42。
r |= (d ? (k + dd): (k - dd));
var d = false;
var k = 61;
var dd = 103;
r = 2924539136;
b = (d ? (k + dd) : (k - dd))
x = (r | (b & 0xFF)) >>> 0
返回
x = 2924539350
诀窍是使用&0xFF
来屏蔽b
和>>>0
中除低8位之外的所有位,以将有符号的32位数字转换为无符号数字。