Saving integer as a bit

I have an array which contains only 0s and 1s. Each data pt is getting saved as an 8 bit integer. How do I save it as a bit to save my memory space?

Answers (2)

in your case use logical array
a1 = randi([0 1],10));
a2 = logical(a1);

1 Comment

Thanks for your suggestion.
That converts the array to logical but while saving, the memory size required remains the same. It saves '0' as '0000 0000' and 1 as '0000 0001'. Is there any way of saving bits individually because all I need is 0 and 1 which I can get from the last bit itself. That can save me a lot of memory space since my array has more than 10 lakhs of data pts.

Sign in to comment.

Mohammad Reza Naderi
Mohammad Reza Naderi on 29 Jul 2020

0 votes

fwrite(fileID,A,precision,skip) Use fwrite for this work. https://www.mathworks.com/help/matlab/ref/fwrite.html#d120e398961

1 Comment

If you want to save with specific precision use instead of precision ubitn

Sign in to comment.

Products

Tags

Asked:

on 11 Apr 2012

Community Treasure Hunt

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

Start Hunting!