can i do this program in matlab

2 次查看(过去 30 天)
hello,
I have a note pad file of lots of bits means 1 & 0 like,1110001111000011111000000111000....Now I want take 8 bit from this bit pattern and store it to another notepad file in space separated like my 2nd notepad file should be like this..
11100011 11000011 11100000 ......like this a
I need this output in decimal is bin2dec be perfect.i need o/p like 23 45 56 in this manner
any idea plz share

采纳的回答

Matt Kindig
Matt Kindig 2012-12-14
Hi joy,
Your question is a bit unclear. It sounds like you are trying to do two different things: 1) You want to write a new text file that inserts spaces between every set of 8 bits, and 2) You want to convert the binary strings into decimals.
First the former-- the easiest way to do this is just to read the text file into Matlab, arrange the matrix into groups of 8, and write a new file. Like this:
txt = fileread('/path/to/your/file.txt'); %read original file to string
n = 8*ceil(length(txt)/8); %number of characters to pad txt variable
txt(end:n)= ' '; %pad to set length to be a multiple of 8
Txt = reshape(txt', 8, [])'; %reshape
Txt(:,end+1)=' '; %add a space after each set of 8 characters
TT = reshape(Txt', 1, []); %convert back to a vector
%now write string to new file
fid = fopen('/path/to/new/file.txt', 'wt');
fprintf(fid, '%s', TT);
fclose(fid);
  6 个评论
joy
joy 2012-12-15
thank you,,,got ur logic
joy
joy 2012-12-15
but sometime i am getting this error,what could be the reason?
??? Error using ==> bin2dec at 54 Binary string may consist only of characters 0 and 1
Error in ==> method_1_3D_2D_plot_stats_modified at 46 Dec = num2str(bin2dec(Txt)); %convert to decimal string

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

标签

尚未输入任何标签。

Community Treasure Hunt

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

Start Hunting!

Translated by