1

以下のような 2 進数のみを格納する配列があります。バイナリのサイズは 1x31 です。今、私は最後のビットを最初に、最初のビットを最後に、というように作りたいと思っています。ここでのデータ構造の選択はおそらく非常に貧弱です.バイナリで遊ぶことを学ぶとき、私はおそらく配列を取り除きます. バイナリは、単純な並べ替えで配列の順序付けをはるかに簡単にします。とにかく、これは今パズルです:

降順バイナリを昇順バイナリに変更するための Matlab の準備が整ったコマンドはありますか?

入力

>> C(21,:)

ans =

   (1,11)       1
   (1,16)       1
   (1,17)       1


>> full(C(21,:))

ans =

  Columns 1 through 11

     0     0     0     0     0     0     0     0     0     0     1

  Columns 12 through 22

     0     0     0     0     1     1     0     0     0     0     0

  Columns 23 through 31

     0     0     0     0     0     0     0     0     0

invertDec2Asc などのコマンドを使用した出力の目標

>> invertDec2Asc(C(21,:))

ans =

   (1,21)       1
   (1,16)       1
   (1,15)       1
4

2 に答える 2

2

num2str続いて使用してみてくださいfliplr

revnum = fliplr( num2str(num) )

テスト

num = ['101010';'010101']
revnum = fliplr( num2str(num) )

num =

101010
010101

revnum =

010101
101010
于 2013-10-26T13:24:27.730 に答える
1

flipudまたはfliplrあなたが探しているものです。

Matlab のドキュメント

fliplr([1 0 1 0]) = [0 1 0 1]
fliplr('1010') = '0101' 

matlab のバイナリの形式: '1010'、たとえば次で作成dec2bin(10)

于 2013-10-26T12:58:44.773 に答える