Binary string must be 52 bits or less error?

2 Ansichten (letzte 30 Tage)
Sneha P S
Sneha P S am 21 Mär. 2018
Beantwortet: Walter Roberson am 21 Mär. 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 Kommentare
James Tursa
James Tursa am 21 Mär. 2018
Please show one small example of the input(s), the intermediate steps, and the desired output.
Sneha P S
Sneha P S am 21 Mär. 2018
Bearbeitet: Walter Roberson am 21 Mär. 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.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

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

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by