负整数的BIT-AND运算

时间:2014-02-19 09:40:00

标签: matlab bit-manipulation bitwise-and

在MATLAB R2011b中,如果任何数字为负数,则无法处理位和操作。在Java中,它将类似于:-25 & 15 = 7。如何在MATLAB中获得类似的东西? 尝试在操作前转换为uint32,但在MATLAB中转换为uint32(-25) = 0

1 个答案:

答案 0 :(得分:3)

您可以使用bitand操作:

intout = bitand(-25, 7, 'int32')

在R2011b上,如果您考虑-25(2^32)-25在位上等同于uint32。所以你可以尝试:

intout = int32((2^32 - 25) & 7)