How to convert character column to 4 byte (total 32 bits) data?

8 次查看(过去 30 天)
Hi, Thank you fo much for get interest in this,
I have a numbers indicating instrument status in timetable.
For example, now it looks like this:
Time Var1
20220804 00:00:01 15226547
20220804 00:00:02 3226557
... ....
These numbers in Var1 (possibly characters, since my instrument manual saids it as 'words') should be 4 bytes and each byte has 8 bits that includes different information as 1 or 0 respectively. So in total I should have 32 digits of 1s and 0s (like binary form).
What I want to get is:
Time Var1 Bit1 Bit2 Bit3 Bit4 ... Bit 32
20220804 00:00:01 15226547 1 0 1 0 1
20220804 00:00:02 3226557 0 0 1 0 1
... .... ....
(FYI, I believe first row should be look like 00100100 according to actual instrument setup.)
I tried to change this Var1 numbers in 32digit binary form, but it seems not the correct way.
Also I tried some functions like typecast, uint32, and so on... but it is hard to figure out..
I attached Status.mat file.
Do you have any idea to solve this out?

回答(1 个)

David Hill
David Hill 2022-8-11
dec2bin(15226547,32)-'0'
ans = 1×32
0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 1 1 0 1 0 1 1 0 0

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by