我必须编写一个将整数作为参数(0、1、2或3)的方法。我必须使用它来创建一个0的位掩码。因此,如果参数为0,则对于1:FFF0
,2:FF0F
,3:F0FF
,位掩码将是0FFF
。我正在尝试不对其进行硬编码。
我尝试过的方法,但只能部分起作用:
int bob = 0xFFFF;
int multi = 2;
multi = multi << param;
这适用于1和2,即使是对于它们,也使其成为
0xFF00
和0xF000
。我也尝试不使用乘法(这会使乘法容易得多,所以我不想使用它)。
最佳答案
像这样:
bitmask = 0xFFFF;
bitmaskmask = 0xF;
bitmaskmask = bitmaskmask << parameter * 4;
bitmask = bitmask ^ bitmaskmask;