Jus*_*Lee 4 javascript binary jquery compare bit-manipulation
我目前将数据存储在XML文档中作为二进制文件,长度为20位,每个数字代表一个布尔值.
<matrix>
<resource type="single">
<map>10001010100011110000</map>
<name>Resource Title</name>
<url>http://www.yoursite.com</url>
</resource>
</matrix>
Run Code Online (Sandbox Code Playgroud)
我正在使用jQuery解析它,并且我正在使用for循环并charAt()确定如果值为=="1"则是否执行操作.
for (var i = 0; i < _mapLength; i++) {
if (map.charAt(i) == "1") {
//perform something here
}
}
Run Code Online (Sandbox Code Playgroud)
这种情况发生了几次,因为HUGE循环运行缓慢.有人告诉我,我应该使用按位运算符来处理它,它会运行得更快.
有人能给我一个如何做到这一点的例子吗? 我曾尝试在线阅读教程,他们似乎正在飞扬我的脑海.(仅供参考:我打算创建一个Ruby脚本,将我的二进制0和1转换成我的XML中的位.)
或者有没有人知道一个好的,简单的(甚至可能是愚蠢的版本)教程或者可以帮助我掌握这些按位运算符概念的东西?
Sho*_*og9 13
假设您的位数不超过32位,可以使用JavaScript的内置parseInt()函数将1和0的字符串转换为整数,然后使用&(和)运算符测试标志:
var flags = parseInt("10001010100011110000", 2); // base 2
if ( flags & 0x1 )
{
// do something
}
...
Run Code Online (Sandbox Code Playgroud)
(问题是在C中使用,但也适用于JS中的相同运算符)
| 归档时间: |
|
| 查看次数: |
17867 次 |
| 最近记录: |