Binary string must be 52 bits or less error?

2 views (last 30 days)
Sneha P S
Sneha P S on 21 Mar 2018
Answered: Walter Roberson on 21 Mar 2018
I had some values in RRbin of size 65536 x 36 and type double.Then i xor-ed them with sybin(65536 x 36 double) The result of xor operation is stored in encR(65536 x 36 logical). I need to convert the result in encR back to decimal. But when iam trying to use bin2dec(encR) there comes an error that the input must be a string. So i converted the encR to string using num2str(encR) function. The output is of form 65536 x 106 char. Please help me with this 65536 x 106 char. I didnt get it. At the same time i couldnt convert it to decimal as the error "Error using bin2dec (line 35) Binary string must be 52 bits or less." occurs. Please help me to sort it out.
  2 Comments
James Tursa
James Tursa on 21 Mar 2018
Please show one small example of the input(s), the intermediate steps, and the desired output.
Sneha P S
Sneha P S on 21 Mar 2018
Edited: Walter Roberson on 21 Mar 2018
RRbin = 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (double)
sybin = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (double)
encR = 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (logical)
while converting it to string the output is
0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
but of type char and size 1 x 106. I need to convert this back to decimal.

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 21 Mar 2018
values = bin2dec(char('0' + encR))
or
values = sum(bsxfun(@times, encR, 2.^(35:-1:0)),2)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!