how to split a string (char value) with zero in front of it but showing the value in the matrix?

1 回表示 (過去 30 日間)
I have a string of '0100'. i want to split it into binary bit 0 1 0 0. how can i do that?? whenever i turn it into double or integer it turns out 1 0 0,

採用された回答

Stephen23
Stephen23 2022 年 10 月 12 日
S = '0100';
V = sscanf(S,'%1u')
V = 4×1
0 1 0 0

その他の回答 (2 件)

John D'Errico
John D'Errico 2022 年 10 月 12 日
編集済み: John D'Errico 2022 年 10 月 12 日
MATLAB does NOT allow you to store or represent an integer as the number 0100. If you try, you will get 100. The leading zero goes away. I'm sorry, but it does, and nothing will make that change.
Your simple solution is to NOT convert it into a number. Work with it in terms of strings. Or if you prefer, as a vector of booleans, so 0 or 1 elements.
For example, could you search for leading zeros, counting how many? Yes.

James Tursa
James Tursa 2022 年 10 月 12 日
編集済み: James Tursa 2022 年 10 月 12 日
Two more ways:
S = '0100';
S=='0' % logical result
ans = 1×4 logical array
1 0 1 1
S-'0' % double result
ans = 1×4
0 1 0 0

カテゴリ

Help Center および File ExchangeCharacters and Strings についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by