如何比较javascript/node js中的两个二进制值?
我有两根绳子如何比较javascript/node js中的两个二进制值?,javascript,string,compare,comparison,Javascript,String,Compare,Comparison,我有两根绳子 var a = "10001010"; var b = "10110010"; 那么,找出两个字符串的相似性的函数是什么呢, 在这种情况下,该函数将返回此值 A和B共有5位数字;具体如下: var a=“10001010” var b=“10110010” 我怎样才能得到这个值 我需要这两个字符串之间的相似性。我想,你可以这样比较它们 ("10001010" > "10110010") --> false ("10001010" < "10110010") --
var a = "10001010";
var b = "10110010";
那么,找出两个字符串的相似性的函数是什么呢,
在这种情况下,该函数将返回此值
A和B共有5位数字;具体如下:
var a=“10001010”
var b=“10110010”
我怎样才能得到这个值
我需要这两个字符串之间的相似性。我想,你可以这样比较它们
("10001010" > "10110010") --> false
("10001010" < "10110010") --> true
("10001010" < "00110010") --> false
("00110010" == "00110010") --> true
(“10001010”>“10110010”)-->false
(“10001010”<“10110010”)-->正确
(“10001010”<“00110010”)-->错误
(“00110010”==“00110010”)-->true
您可以对字符串的数值和值28-1使用^
在二进制结果中,单个1
表示a
和b
的值相同,0
表示不相同
var a=parseInt(“10001010”,2),
b=parseInt(“10110010”,2),
结果=(a^b)^(1我已经写了一个逻辑来做这件事
输出应该是什么格式?索引还是二进制数据?预期的结果是什么?您到目前为止尝试了什么?@gurvinder372输出应该是二进制数据。这似乎很好。这种异或操作的效率如何。假设我在相同的情况下比较数千个。它应该足够快,它只是一个二进制操作。比ks!它工作正常,没有任何明显的开销。
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 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(""));