如何在JavaScript中将位结合成较大的整数



想知道将一组较小位转换为较大位的理想方法是什么。例如,这些特定情况:

  • 3个8位数字至1 24位编号。
  • 2个16位数字为1 32位数字。

想知道通用技术是什么,所以我可以将其应用于任何数字。如果它仅适用于8的倍数,那很好,但是理想情况下它也能够处理这些情况。

  • 3个7位数字至1 21位编号。
  • 9 3位数字至1 27位数。

我以为您只是添加它们,但听起来像是一种用于移动它们的技术,我不确定它是如何一般起作用的。

我假设您的意思是" convert"您是" convatenate"碎片。

这是您将如何通过Shift进行操作:

var int1 = 23; // "8 bit" number, stored in integer variable
var int2 = 67; // another one
var int3 = 189; // a third
var concatInt = ( int1 << 16 ) + ( int2 << 8 ) + int3;

在这里," condint"的值是3个数字的位串联[int1] [int2] [int3]

当然,只要您适合32位整数,就可以使用任何数字和任何位。

这里还有更多关于:https://developer.mozilla.org/en-us/docs/web/javascript/reference/referenty/poperators/bitwise_operators

最新更新