js 两个整数按位合并、拆分?
给出两个整数,比如6538、436,要实现将第一个数放入二进制前30bit里,第二个数放入后20bit里,共50bit产生一个新的整数;
1.js环境2.不可以使用位移操作3.新的整数可再次拆回(两个)原整数
回复
1个回答

test
2024-07-16
var number1 = 6538
var number2 = 436
var bitOp = Math.pow(2, 20)
var result = number1 * bitOp + number2
var origin1 = parseInt(result / Math.pow(2, 20))
var origin2 = result - origin1 * bitOp
console.log(result, origin1, origin2)
不知道这样是否是你需要的。
在更新一个利用字符串的
var number1 = 6538
var number2 = 436
var v1 = number1.toString(2).padStart(30, '0')
var v2 = number2.toString(2).padStart(20, '0')
v1 = v1.substring(v1.length - 30)
v2 = v2.substring(v2.length - 20)
var result = parseInt(v1 + v2, 2)
var origin1 = parseInt(v1, 2)
var origin2 = parseInt(v2, 2)
console.log(result, origin1, origin2)
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容