我有两个字符串
var a = "10001010";
var b = "10110010";
那么在两个字符串中找出相似性的功能是什么, 在这种情况下,该函数将返回此值;
A和B共有5位数;如下所示;
var a =“ 10 001 010 ”;
var b =“ 10 110 010 ”;
如何获得此值?
我需要这两个字符串之间的相似之处。
答案 0 :(得分:1)
您可以将bitwise XOR ^
与字符串的数值和2 8 - 1的值一起使用。
在二进制结果中,单个1
表示a
和b
的相同值,而0
表示不相同。
value binary dec comment -------- -------- --- --------------------------------------- a 10001010 138 b 10110010 178 -------- -------- --- ^ 00111000 56 it shows only the changed values with 1 2^^8 - 1 11111111 255 -------- -------- --- ^ 11000111 199 result with 1 for same value, 0 for not
var a = parseInt("10001010", 2),
b = parseInt("10110010", 2),
result = (a ^ b) ^ (1 << 8) - 1;
console.log(result);
console.log(result.toString(2));
答案 1 :(得分:0)
我想,你可以像这样比较它们
("10001010" > "10110010") --> false
("10001010" < "10110010") --> true
("10001010" < "00110010") --> false
("00110010" == "00110010") --> true
答案 2 :(得分:0)
我写了一个逻辑来执行此操作enter link description here
var test = "10001010";
var test2 = "10110010";
var testArray = test.split('');
var testArray2 = test2.split('');
var resultArray = [];
for(index = 0; testArray.length > index;index++ ){
if(testArray[index] === testArray2[index]){
resultArray.push(testArray[index])
}else{
resultArray.push("*")
}
}
console.log(resultArray.join(""));