Bit missing after circular shift

8 visualizaciones (últimos 30 días)
Amrita  K
Amrita K el 11 de Abr. de 2016
Editada: Amrita K el 12 de Abr. de 2016
I have noticed that after performing circular shift, the bit after the shift value is missing.
Shiftvalue = randi(2, n)
n is the max length of array
X = circshift(A, [1, Shiftvalue])
Problem : if Shiftvalue is 25, then the 26th bit is missing. Please help.
  2 comentarios
Azzi Abdelmalek
Azzi Abdelmalek el 11 de Abr. de 2016
Can you post an example?
Amrita  K
Amrita K el 11 de Abr. de 2016
Editada: Image Analyst el 11 de Abr. de 2016
Shiftvalue = 27
A=[1 0 1 1 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0]
X=010001100001111111111011100 10110110

Iniciar sesión para comentar.

Respuesta aceptada

Roger Stafford
Roger Stafford el 11 de Abr. de 2016
Editada: Roger Stafford el 11 de Abr. de 2016
Your result can be accounted for if your A row vector is a string vector of 1's amd 0's except that its first element is a blank space character:
A = ' 10110110010001100001111111111011100' (<-- Corrected)
X = circshift(A,[1,27]);
X = 010001100001111111111011100 10110110
Note: The call for a shift of 1 in the rows does nothing to a row vector. Nevertheless you should really have 0 there to get zero shift in case you happen to deal with arrays with more than one row:
X = circshift(A,[0,27]);
  3 comentarios
Roger Stafford
Roger Stafford el 11 de Abr. de 2016
Yes, I did mean that. Thanks Walter.
Amrita  K
Amrita K el 12 de Abr. de 2016
Editada: Amrita K el 12 de Abr. de 2016
Thank you Sir, it's working. Appreciate it.

Iniciar sesión para comentar.

Más respuestas (1)

Image Analyst
Image Analyst el 11 de Abr. de 2016
This works just as expected for me:
ShiftValue = 27
A=[9 0 1 1 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0]
X = circshift(A, [0, ShiftValue])
% Element 1 (which is 9) should now be at element 28.
X(28) % It is 9, just as expected!

Categorías

Más información sobre Entering Commands en Help Center y File Exchange.

Etiquetas

Aún no se han introducido etiquetas.

Community Treasure Hunt

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

Start Hunting!

Translated by