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

6 次查看(过去 30 天)
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!

回答(2 个)

Walter Roberson
Walter Roberson 2016-5-20
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 2016-5-20
you can work with logical data type
a=logical([1 0 0 1])
  1 个评论
Tai Doan
Tai Doan 2016-5-20
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?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Environment and Settings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by