具体的には、割り当てに制約があり、乗算と2つ以上のif-elseステートメントを使用できません。このメソッドは、0xAAA5などの数値を取り、4ビットセクションの1つを0x1などの指定されたニブルに置き換える必要があります。これが今の私のコードです:
public static int setNibble(int num, int nibble, int which) {
num = num & (0xFFFF - (0xF << (4 * which)));
num = num | ( (nibble) << (4 * which) );
return num;
}
基本的には左シフト*4したいのですが、掛け算やif-else文なしではどうしたらいいのかわかりません。