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?

回答(2 个)

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

1 个评论

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.

请先登录,再进行评论。

0 个投票

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

1 个评论

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

请先登录,再进行评论。

类别

在 帮助中心 和 File Exchange 中查找有关 Numeric Types 的更多信息

产品

标签

Community Treasure Hunt

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

Start Hunting!

Translated by