how to swap two bits in matlab.? which cammond is used for this..?
    조회 수: 10 (최근 30일)
  
       이전 댓글 표시
    
Input: n = 28, p1 = 0, p2 = 3
Output: 21
28 in binary is 11100.  If we swap 0'th and 3rd digits, 
we get 10101 which is 21 in decimal.
댓글 수: 0
채택된 답변
  KALYAN ACHARJYA
      
      
 2019년 6월 11일
        >> a=de2bi(28)
a =
     0     0     1     1     1
     Here swap first and Fifth Elements  (Change as per your requirements)
>> a([1 5])=a([5 1])
a =
     1     0     1     1     0
>> a=bi2de(a)
a =
    13
>> 
추가 답변 (1개)
  Chirag Nighut
    
 2019년 6월 11일
        Remember that Matlab has 1 based indexing and therfore when you wish to swap the 0th and 3rd bit in above number, it is actually bit number 1 and 4.  
Following code should work:
p1 = 1;
p2 = 4;
A = 28;
d = de2bi(A);
d([p1 p2]) = d([p2 p1]);
B = bi2de(d)
참고 항목
카테고리
				Help Center 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


