Seperating digits of an integer in Simulink

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!

Risposte (1)

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 Commenti

I thought the shift operation, if possible in Simulink, would make the generated code more efficient!Anyway, thanks for the answer!
Shift operation, shifts the bits of the number in binary form, not the digits of decimal number.
Please accept the answer if it helped.

Accedi per commentare.

Tag

Richiesto:

il 8 Mar 2013

Community Treasure Hunt

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

Start Hunting!

Translated by