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 Kommentare

James Tursa
James Tursa am 2 Feb. 2017
What kind of shift? Circular shift? Fall-off-the-end shift? Shift bits to/from "left" variable and "right" variables?
ablaze
ablaze am 3 Feb. 2017
circular shift
Walter Roberson
Walter Roberson am 3 Feb. 2017
How many bits width?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Walter Roberson
Walter Roberson am 2 Feb. 2017

0 Stimmen

Multiply by 2.

1 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 2 Feb. 2017

Kommentiert:

am 3 Feb. 2017

Community Treasure Hunt

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

Start Hunting!

Translated by