n ビット数の絶対値を取る整数 (num) と整数 (n) を受け取るメソッドに取り組んでいます。私の論理は正しいと信じています。紙の上でそれを行ったところ、うまくいきましたが、コードがずれているようです。すべてのヘルプは大歓迎です!
/**
* Take the absolute value of an n-bit number.
*
* Examples:
* abs(0x00001234, 16); // => 0x00001234
* abs(0x00001234, 13); // => 0x00000DCC
*
* Note: values passed in will only range from 1 to 31 for n.
*
* @param num An n-bit 2's complement number.
* @param n The bit length of the number.
* @return The n-bit absolute value of num.
*/
public static int abs(int num, int n)
{
int shifter = num << (n+1);
int newInt = num & ~shifter;
return newInt;
}