C结构类似于MATLAB中的变量

时间:2012-09-12 22:17:12

标签: matlab concatenation structure unions

我想做的是Q-10 bit& C - 4位并执行操作 -

Q,C = Q,C << 1(C的左移MSB到Q的LSB)

其中Q,C是14位处理,就像C中的结构一样。这在verilog中本身支持,可以用C中的结构实现。我如何在MATLAB中做类似的事情?

1 个答案:

答案 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);