繁体   English   中英

在Javascript中进行位调整

[英]Bit-tweaking in Javascript

只是好奇。 我在C中编写了一个程序,对一个定义页面访问控制的变量进行了大量的按位操作。 我想能够在Javascript中做同样的事情。 我怎样才能完成这场考验?

在Javascript中进行位调整的任何帮助都会有所帮助。 请记住,不允许昂贵的功能

JavaScript具有通常的各种按位运算符, | &~等; 规范的细节

以下部分将特别有用:

  • 第11.4.8节:按位NOT( ~
  • 第11.7节:按位移位运算符( <<>>
  • 第11.10节:二进制按位运算符( |&

请注意,JavaScript的数字都是浮点数(请参阅规范第8.5节“数字类型 ),但按位运算是按整数定义的。 例如,按位NOT运算符的定义:

11.4.8按位NOT运算符( ~
生产UnaryExpression : ~ UnaryExpression的计算方法如下:
1.让expr成为评估UnaryExpression的结果。
2.让oldValueToInt32(GetValue(expr))
3. oldValue位补码应用于oldValue的结果返回。 结果是带符号的32位整数。

任何体面的实现都能够有效地处理这些,避免从Number到内部整数和返回的不必要的转换。

JavaScript具有与其他语言类似的按位运算符。 根据定义,按位运算符是有效的。 您应该能够在JS中复制在C程序中执行的所有按位操作。

http://www.eecs.umich.edu/~bartlett/jsops.html

暂无
暂无

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

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