我必须编写一个将整数作为参数(0、1、2或3)的方法。我必须使用它来创建一个0的位掩码。因此,如果参数为0,则对于1:FFF0,2:FF0F,3:F0FF,位掩码将是0FFF。我正在尝试不对其进行硬编码。

我尝试过的方法,但只能部分起作用:

int bob = 0xFFFF;
int multi = 2;

multi = multi << param;


这适用于1和2,即使是对于它们,也使其成为0xFF000xF000

我也尝试不使用乘法(这会使乘法容易得多,所以我不想使用它)。

最佳答案

像这样:

bitmask = 0xFFFF;
bitmaskmask = 0xF;
bitmaskmask = bitmaskmask << parameter * 4;
bitmask = bitmask ^ bitmaskmask;

07-24 13:09