我必须编写一个方法,它接受一个整数作为参数(0,1,2或3)。我必须使用它来创建一个0的位掩码。因此,如果参数为0,则位掩码将为FFF0
,对于1:FF0F
,2:F0FF
,3:0FFF
。我试图不去硬编码它。使用单个数字移位4位
我都试过了,但它仅适用部分:
int bob = 0xFFFF;
int multi = 2;
multi = multi << param;
这个作品用1和2,对于即使是那些,它使0xFF00
和0xF000
。
我试图不使用乘法(这会使它更容易,所以我不想使用它)。
删除所有提及的“java”可能实际上并不是一个好主意......让我不确定它是如何处理负数的(例如,如果'int'意味着一个16,manu-fatto的回答将不起作用(0xFFFF)等于-1) – Jeff