Seperating digits of an integer in Simulink

7 views (last 30 days)
Rahul
Rahul on 8 Mar 2013
Hello, Is there a block in the Simulink Library which can be used to separate the digits of an integer. Example: If an integer say, 4328 is given as an input to that block, then the expected outputs are '4', '3', '2' and '8'. Can the 'Shift Arithmetic' block be used?
Thanks!

Answers (1)

TAB
TAB on 8 Mar 2013
You can use normal divide and mod operation to extract the digits.
For example:
Data = 4328;
Dig3 = fix(Data/1000);
Dig2 = fix(mod(Data,1000)/100);
Dig1 = fix(mod(Data,100)/10);
Dig0 = fix(mod(Data,10));
  2 Comments
Rahul
Rahul on 8 Mar 2013
I thought the shift operation, if possible in Simulink, would make the generated code more efficient!Anyway, thanks for the answer!
TAB
TAB on 8 Mar 2013
Shift operation, shifts the bits of the number in binary form, not the digits of decimal number.
Please accept the answer if it helped.

Sign in to comment.

Categories

Find more on Simulink Functions in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!