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

6 visualizzazioni (ultimi 30 giorni)
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!

Risposte (2)

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

Accedi per commentare.

Categorie

Scopri di più su Environment and Settings 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