私がやりたいことは、Q - 10ビットとC - 4ビットを持ち、操作を実行することです -
Q,C = Q,C << 1
(C の MSB を Q の LSB に左シフト)
Q,C は C の構造体のように扱われる 14 ビットです。これは Verilog でネイティブにサポートされており、C の構造体で実現できます。MATLAB で同様のことを行うにはどうすればよいですか?
私がやりたいことは、Q - 10ビットとC - 4ビットを持ち、操作を実行することです -
Q,C = Q,C << 1
(C の MSB を Q の LSB に左シフト)
Q,C は C の構造体のように扱われる 14 ビットです。これは Verilog でネイティブにサポートされており、C の構造体で実現できます。MATLAB で同様のことを行うにはどうすればよいですか?
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);