2017-09-05 185 views
0

我需要以下問題的幫助:如何在Java中查找整數的最低有效字節?

寫一個表達式導致整數x的最低有效字節被設置爲0,但所有其他位不變。 例如:0x98234493變爲0x98234400。

我很困惑如何訪問最不重要的字節。

public static int Q3(int x) { 
    return (x & 0xFFFFFFFF); 
} 

我在做什麼錯?

+0

請添加語言標記來表示您所使用的語言。十六進制是32位的基數 - 「F」表示10位數(我們的數字系統)爲15,而1111爲基數2(二進制),所以「FFFFFFFF」表示4 * 8位(40位),當你真的只想要最右邊8位。認爲你正在尋找'0xff',而不是'0xffffffff'。可能想閱讀與不同的基地工作。 –

+0

沒有冒犯,但我認爲你可以多試一試。你沒有重置*任何*位,甚至沒有錯誤的位。 – harold

回答

0

你可以做

public static int Q3(int x) { 
    return (x & ~255); 
} 

255二進制將不得不設置,而所有其他值是零的最低顯著所有位。

因此255是255的補碼,除了最低有效字節集以外的所有比特都具有所有比特,而最低有效字節的所有比特都是零。

這個〜255可以是&用輸入號碼n來設置最低有效字節的所有位爲零而其他位保持不變。

0

該解決方案將 public static int Q3(int x) { return (x & OxF); }

相關問題