how to rotate right ?
    9 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
If my binary data is 1001011011110100 then how can i rotate right the stream by 4 bits with out converting it from binary to any other data type or number system.
3 Kommentare
  Star Strider
      
      
 am 1 Nov. 2014
				I answered it yesterday (circshift link + example) then OP posted a later question using my answer to this one without accepting it, so I deleted my answer.
  Jan
      
      
 am 1 Nov. 2014
				@yogya: Please explain the type of the data. It is not efficient to guess, how your "binary data" are represented currently, when you explicitly want to avoid a conversion.
Antworten (1)
  Harry
      
 am 1 Nov. 2014
        
      Bearbeitet: Harry
      
 am 1 Nov. 2014
  
      If your binary data is stored in a string, try this:
x = '1001011011110100';
x_shifted = circshift(x,[0,4]);
Otherwise, if you have raw binary data (for example, stored in unsigned 16-bit integers), then try this:
msbs = bitshift(n,-4, 'uint16');
lsbs = bitand(n,2^4-1, 'uint16');
x_shifted = bitor(bitshift(lsbs, Nbits-4, 'uint16'), msbs, 'uint16');
0 Kommentare
Siehe auch
Kategorien
				Mehr zu String 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!




