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

8 ビュー (過去 30 日間)
Tai Doan
Tai Doan 2016 年 5 月 20 日
回答済み: Walter Roberson 2016 年 5 月 20 日
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 Center および File ExchangeEnvironment and Settings についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by