繁体   English   中英

javascript十进制(16位低位)到十进制

[英]javascript decimal (16 lower bits) to decimal

对不起,但我不擅长转换。 我需要将十进制 - >十进制转换为低16位,作为此示例。

1:16777237 decimal = 1000015 hex
2:16 lower bits = 0015 hex (each digit in hexadecimal is 4 bits)
3: 0015 hex = 21 decimal  (21 is the result i need)

运用

(16777237).toString(16);

我可以得到1000015十六进制,我的问题是如何,我得到低位作为im,而不是那么强的位。 获得结果的最基本方式。

您可以应用位掩码1111111111111111 2并按位AND获取结果。

              base 2             base 10   base 16
    -------------------------   --------   -------
    1000000000000000000010101   16777237   1000015
&   0000000001111111111111111      65535      ffff
-----------------------------   --------   -------
    0000000000000000000010101         21        15

 console.log(16777237 & ((1 << 16) - 1)); 

另一个解决方案可能是,只使用余数运算符 %和2 16

 console.log(16777237 % (1 << 16)); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM