首页 > Web开发 > 详细

Javascript字符串以二进制形式进行按位运算

时间:2014-01-21 00:57:40      阅读:440      评论:0      收藏:0      [点我收藏+]

字符串是类似“1001001”这样的,需要进行二进制形式的按位运算,但实际中Javascript会以十进制形式把它转化成二进制,运算后返回十进制的结果,这并不是想要的结果。

想要的是直接把这个字符串当作二进制处理,很遗憾Javascript没有提供方法把字符串当作二进制,只提供了把十进制数转化成二进制的方法toString(2),因此需要找到一个能把二进制数形式的字符串直接进行按位运算的方法。

思路:遍历每一个字符串的每一个字符

[按位与&:如果该字符是1,则给新数组相应位的值加1,最后通过判断该值是否等于字符串的个数返回相应的1或者0]

[按位与|:如果该字符是1,则给新数组相应位的值1,否则复值0,最后返回新数组]

以下函数是以按位或|进行计算

/*
 * Convert String "100010" as Binary "100010"
 */
function binaryOr(arr){
    var len1 = arr.length,len2 = 0;
    var arrItem = "";
    var resultArr = new Array(len1);
    for(var i = 0;i < len1;i++){//遍历数组中每一个字符串
        arrItem = arr[i];
        len2 = arrItem.length;
        for(var j = 0; j < len2; j++){//拆分字符串的每一位
            if(arrItem[j] == 1){
                resultArr[j] = 1;
            }else{
                if(resultArr[j] != 1){
                    resultArr[j] = 0;
                }
            }
        }
    }
    return resultArr;
}
var curArr = ["001010","001100"];
var rs = binaryOr(curArr);
console.log(rs);


Javascript字符串以二进制形式进行按位运算

原文:http://blog.csdn.net/zk437092645/article/details/18355629

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!