0

私がやりたいことは、Q - 10ビットとC - 4ビットを持ち、操作を実行することです -

Q,C = Q,C << 1(C の MSB を Q の LSB に左シフト)

Q,C は C の構造体のように扱われる 14 ビットです。これは Verilog でネイティブにサポートされており、C の構造体で実現できます。MATLAB で同様のことを行うにはどうすればよいですか?

4

1 に答える 1

2

matlab が c スタイルの共用体をサポートしているとは思わない。bitshiftこの問題を算術で解ける機能があります。

% Q is 10 bits, C is 4 bits
% Create QC. 
QC = bitshift(Q, 4) + C;  

% Bit shift QC by 1
QC = bitshift(QC,1);

%Grab QC bits 13->4 and save as Q
Q = bitshift(QC, -4);

%get QC bits 3->0 and save as C
C = bitand(QC, 2^(4+1)-1);
于 2012-09-13T03:37:15.730 に答える