How to store all the datas of a txt file in some given bits?

1 次查看(过去 30 天)
I have a txt like this:
9,15,5,10,14,5,11,15,5,7,19,0,4,22,0
7,8,7,10,8,4,11,7,0,9,12,7,11,11,0
each row has 15 data values; actually it's a set of 5 points with three atrributions.
such as, the first point is (9,15,5),9 and 15 are x and y direction of a point, 5 is the orientation,
I want to use 4 bits to store x and y, 3 bits to store orientation.
and then store all the data after transformation in a new txt file.
The sample of my data is in the attachment.
Anyone know how to solve it?
Thank you so much.
  2 个评论
dpb
dpb 2019-1-20
What is the fi function?
As far as column-major order, simply transpose your array to turn rows to columns.
Jiajie Zhang
Jiajie Zhang 2019-1-21
fi function can change the storige size of the data.
But things are much much complicated than just using transpose.
Do you know how to solve my problem?

请先登录,再进行评论。

回答(1 个)

Walter Roberson
Walter Roberson 2019-1-21
bits11 = uint16(x) * 128 + uint16(y) * 8 + uint16(orientatation);
However if you want to pack together the 11 bit quantities into words you would need 8 of them together, which would put together 8 such sets of data into 11 bytes. That is a bit more of a nuisance.

类别

Help CenterFile Exchange 中查找有关 Data Types 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by