left shift in bits

1 view (last 30 days)
ablaze
ablaze on 2 Feb 2017
Commented: Walter Roberson on 3 Feb 2017
hello, i want to perform left shift by 1 bit in this code for left_1 and right_1
% 1 2 3 4 5 6 7 8 9 10
key=[1 0 1 0 0 0 0 0 1 0]
IP=[3 5 2 7 4 10 1 9 8 6]
left=key(IP(1:5))
left_1=left
right=key(IP(6:10))
right_1=right
  3 Comments
ablaze
ablaze on 3 Feb 2017
circular shift
Walter Roberson
Walter Roberson on 3 Feb 2017
How many bits width?

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 2 Feb 2017
Multiply by 2.
  1 Comment
Walter Roberson
Walter Roberson on 3 Feb 2017
For 4 bits (as your values are small):
shifted = pre_shifted * 2;
mask = shifted >= 16;
shifted(mask) = shifted(mask) - 15;

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!