Is it possible to create a binary vector then write it to a file?

5 views (last 30 days)
Hi Matlab Comminity,
I am new to Matlab. I am working on an excercise which requires some binary operations, then write binary result in a file. Each character in the file must be 1 bit.
I tried looking for "binary datatype in Matlab", but it seems does not exist. I am little bit disappointed.
Could you guys give me some suggestions? What would you do when you want to work with binary number in Matlab?
Thank you so much!

Answers (2)

Walter Roberson
Walter Roberson on 20 May 2016
fwrite(fileID, B, 'ubit1')
Caution: bits are only packed for any one call to fwrite(). Each time the data for an fwrite is finished outputting, if the bit stream is not aligned with a byte boundary then extra bits are written out to get to the byte boundary, leaving it positioned at a byte boundary for the next I/O call.

Azzi Abdelmalek
Azzi Abdelmalek on 20 May 2016
you can work with logical data type
a=logical([1 0 0 1])
  1 Comment
Tai Doan
Tai Doan on 20 May 2016
Thank you, Azzi! Is there any way to write them into a file as binary character? This is what I tried:
B = ones(1,1000);
B = logical(B);
fileID = fopen('binary', 'w');
fwrite(fileID,B);
fclose(fileID);
But the file's size is 1000 bytes, not 1000 bits. Any idea?

Sign in to comment.

Categories

Find more on Environment and Settings 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!