Which is the easiest method for shifting binary digits to the right?
    4 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Darsana P M
 am 15 Feb. 2018
  
    
    
    
    
    Kommentiert: Walter Roberson
      
      
 am 23 Feb. 2018
            x1 = {'1' '0' '1' '1' '0' '1' '0' '0' '0' '1' '1' '1' '0' '0' '1' '1'};
x=hex2dec(x1);
Thus in command window,
x =
       1
       0
       1
       1
       0
       1
       0
       0
       0
       1
       1
       1
       0
       0
       1
       1
Hence to do shift operation, which is the simplest way?
by one place, 0110100011100110
next, 1101000111001100
next , 1010001110011000
and so on?
Can somebody help me?
0 Kommentare
Akzeptierte Antwort
  Walter Roberson
      
      
 am 15 Feb. 2018
        [x(2:end), 0]
4 Kommentare
  Walter Roberson
      
      
 am 18 Feb. 2018
				>> x = [     1
     0
     1
     1
     0
     1
     0
     0
     0
     1
     1
     1
     0
     0
     1
     1]
x =
     1
     0
     1
     1
     0
     1
     0
     0
     0
     1
     1
     1
     0
     0
     1
     1
>> [reshape(x(2:end), 1, []), zeros(1, min(1, length(x)))].'
[reshape(x(2:end), 1, []), zeros(1, min(1, length(x)))].'
ans =
     0
     1
     1
     0
     1
     0
     0
     0
     1
     1
     1
     0
     0
     1
     1
     0
>> length(ans)
ans =
    16
Or you could be lazy in your error checking and just use
[x(2:end); 0]
Weitere Antworten (1)
  Darsana P M
 am 23 Feb. 2018
        4 Kommentare
  Walter Roberson
      
      
 am 23 Feb. 2018
				You can get around the first problem by changing
v = [v(i:end); 0]
to
v = [v(i+1:end); 0]
However, this will just postpone the problem one iteration: on the next iteration you will be generating a shorter v (because i has increased) and that shorter v will fail the Z = bitxor(Z,v) since Z did not also get shorter.
I think you need to revise your algorithm. One of the major revisions you need is that you need to document the code -- the purpose of the code, and a description of what you expect each step to accomplish.
Siehe auch
Kategorien
				Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!