convert each character of an array to int

5 次查看(过去 30 天)
I have a char array like this '10000111101010110101' and I want to convert each 0 and 1 to int and obtain [1 0 0 0 0 1 1 ...]. I'd like to do it without fors, is it possible?

采纳的回答

Ameer Hamza
Ameer Hamza 2020-10-24
Easy peasy
x = '10000111101010110101';
y = x - '0'
  2 个评论
Ameer Hamza
Ameer Hamza 2020-10-24
If you look at the ASCII code for the character, you can see what is happening.
For example,
x = '10000111101010110101';
y = x + 0
Result
>> y
y =
Columns 1 through 17
49 48 48 48 48 49 49 49 49 48 49 48 49 48 49 49 48
Columns 18 through 20
49 48 49
So, if you subtract the ascii code for '0', you will get actual numbers.

请先登录,再进行评论。

更多回答(0 个)

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by