我想做的是Q-10 bit& C - 4位并执行操作 -
Q,C = Q,C << 1
(C的左移MSB到Q的LSB)
其中Q,C是14位处理,就像C中的结构一样。这在verilog中本身支持,可以用C中的结构实现。我如何在MATLAB中做类似的事情?
答案 0 :(得分: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);