Understanding bitwise operations in javascript
binary, bit-manipulation, compare, javascript, jquery
Solution
Assuming you have no more than 32 bits, you can use JavaScript's built-in `parseInt()` function to convert your string of 1s and 0s into an integer, and then test the flags using the `&` (and) operator:
var flags = parseInt("10001010100011110000", 2); // base 2
if ( flags & 0x1 )
{
// do something
}
...
See also: How to check my byte flag?
(question is on the use in C, but applies to the same operators in JS as well)
Problem
I am currently storing data inside an XML doc as binary, 20 digits long, each representing a boolean value. ``` <matrix> <resource type="single"> <map>10001010100011110000</map> <name>Resource Title</name> <url>http://www.yoursite.com</url> </resource> </matrix> ``` I am parsing this with jQuery and am currently using a `for` loop and `charAt()` to determine whether to do stuff if the value is == "1". ``` for (var i = 0; i < _mapLength; i++) { if (map.charAt(i) == "1") { //perform something here } } ``` This takes place a few times as part of a HUGE loop that has run sort of slow. Someone told me that I should use bitwise operators to process this and it would run faster. My question is either: Can someone offer me an example of how I could do this? I've tried to read tutorials online and they seem to be flying right over my head. (FYI: I am planning on creating a Ruby script that will convert my binary 0 & 1's into bits in my XML.) Or does anyone know of a good, simple (maybe even dumbed down version) tutorial or something that could help me grasp these bitwise operator concepts?