Azzera filtri
Azzera filtri

How to convert binary stream of length 1*524288 to decimal string of length 1*65536?

5 visualizzazioni (ultimi 30 giorni)
There is a need to group 8 bits in the binary stream of 1*524288 to make a decimal string..how to do this using matlab?
  4 Commenti
Image Analyst
Image Analyst il 7 Gen 2017
Can you give a short example of how you are getting a longer decimal string from the shorter binary string, like '1101001' goes to '123456787654627838' or something?
Veera Kalyani S
Veera Kalyani S il 8 Gen 2017
If we have k='0000000100000010' then there is a need to get (say)h='1 2'
that is for first 8 bits...'00000001==> 1' for next 8 bits... '00000010==>2'

Accedi per commentare.

Risposta accettata

Stephen23
Stephen23 il 8 Gen 2017
Modificato: Stephen23 il 8 Gen 2017
bin2dec probably does most of what you want:
>> bin2dec(reshape('0000000100000010',8,[]).')
ans =
1
2
  3 Commenti
Stephen23
Stephen23 il 9 Gen 2017
Modificato: Stephen23 il 9 Gen 2017
You seem to have put my code inside a loop, and then inside that loop you access one character of the string at a time, like this:
k(i)
What do you expect to do with one character at a time?
My answer works perfectly for a string with size 1*524288, and it does not need any loops:
>> str = char(randi(48:49,1,524288));
>> vec = bin2dec(reshape(str,8,[]).')
vec =
233
164
146
110
134
162
238
203
etc

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Functions in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by