我想了解的一段代碼,但沒能獲得大約幾點 這裏是Java代碼清晰的思路按位右移和0xFF | Java的
private String firstMethod(int number){
return secondMethod(number >> 16 & 0xFF, 0).concat(secondMethod(number >> 8 & 0xFF, 1)).concat(secondMethod(number & 0xFF, 7));
}
private static String secondMethod(int value, int offset)
{
return thirdMethod(value >> 4, offset).concat(thirdMethod(value & 0xF, offset + 4));
}
private static String thirdMethod(int value, int offset)
{
String chars = getAlphabet();
int pos = (value + offset) % 16;
return chars.substring(pos, pos + 1);
}
傳遞給firstMethod
值是第一次的隨機數和所有後續調用到方法路過1.
我清楚逐位右移操作以及對使用& 0xFF
增加值,但我仍然不是很清楚以下幾點
- 按特定數字移動給定值(比如16和8首先比沒有篩選等)
- 不清楚使用偏移量,特別是通過某個數字作爲偏移量。
誰能幫助我理解那些2點
第三種方法的代碼被切斷 – Antimony 2014-08-31 16:46:37
@Antimony:我向第三種方法添加了代碼 – 2014-08-31 16:49:45