Bit xor of two binary strings and conversion into decimal
16 ビュー (過去 30 日間)
古いコメントを表示
Hi, I have two large binary strings (e.g 256 bits each), then how to perform bit Xor operation and then convert the answer into decimal number.
str1='11010011110111110000110110111111';
str2='00011111001101011010001111100001';
str3=bitxor(str1,str2);
%%getting error in str3
3 件のコメント
採用された回答
James Tursa
2020 年 6 月 19 日
編集済み: James Tursa
2020 年 6 月 19 日
The xor part as a logical vector result
result = str1 ~= str2;
Or if you wanted it as char:
str3 = char((str1 ~= str2) + '0');
For 8-bit chunks turned into decimal numbers:
result = 2.^(7:-1:0) * reshape(str1 ~= str2,8,[]);
7 件のコメント
James Tursa
2020 年 6 月 20 日
So, can you tell me what exactly you have as inputs (size and class) and what exactly you want as an output (size and class)?
その他の回答 (1 件)
David Hill
2020 年 6 月 19 日
Use java BigInteger
import java.math.*;
a=BigInteger(str1,2);
b=BigInteger(str2,2);
c=a.xor(b);%c will be the decimal BigInteger
参考
カテゴリ
Help Center および File Exchange で Data Type Conversion についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!