gpt4 book ai didi

javascript - 在位掩码中打包和解包整数

转载 作者:行者123 更新时间:2023-12-01 17:18:45 30 4
gpt4 key购买 nike

我想将 lod 打包成 2 位,将 x,y,z 打包成 10 位(总和为 32 位)。到目前为止,我编码了这个 https://jsfiddle.net/wgdphzL1/2/ :

console.clear();

var mask = 0;
var lod = 3;
var x = 5;
var y = 8;
var z = 5;

mask|=(lod & 3);
mask|=(x & 1023) << 10;
mask|=(y & 1023) << 20;
mask|=(z & 1023) << 30;


var lodr = mask & 3;
var xr = (mask >> 10) & 1023;
var yr = (mask >> 20) & 1023;
var zr = (mask >> 30) & 1023;

console.log(lodr, xr, yr, zr); // 3 5 8 1

除了最后的 zr 不正确外,它可以正常工作。这就是我的问题。感觉我要超过 32 位限制,但理论上不应该?

最佳答案

问题可能是面具太大了,所以你把它推到了极限。运行此代码以查看:

(1<<30).toString(2)最大。

console.info((1<<30).toString(2))

关于javascript - 在位掩码中打包和解包整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60015186/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com