操作(清除/設置/切換)MSB或LSB的實際應用是什麼?清除/設置/切換最高有效位(MSB)或最低有效位(LSB)有什麼意義?
根據定義,MSB是最左邊的位,貢獻最大值,LSB是最右邊的位,貢獻最小值。
爲什麼要操縱這些位?我們可以通過操縱這些位來實現什麼?
操作(清除/設置/切換)MSB或LSB的實際應用是什麼?清除/設置/切換最高有效位(MSB)或最低有效位(LSB)有什麼意義?
根據定義,MSB是最左邊的位,貢獻最大值,LSB是最右邊的位,貢獻最小值。
爲什麼要操縱這些位?我們可以通過操縱這些位來實現什麼?
一個真實的例子:操縱
LSB是Fenwick Tree
可以用來發現號的總和。在無論是在O範圍&更新用在陣列的一些(日誌N)
操縱MSB是使用位操作的二進制搜索
- Binary searching via bitmasking?
如果您使用整數值作爲標誌結構或包含位域,那就是一個原因。單獨調整MSB或LSB的原因可能是設置一個特殊標誌,您知道該位在其他情況下不會被使用,例如在某些ISA中,所有內存地址(用於加載/寫入)必須在字邊界(通常爲字長爲32位),這意味着指針的最後幾位是完全不重要的,可以被應用程序或系統使用,這同樣適用於高位 - 但僅限於某些情況。
其他原因包括對IEEE-754號碼進行快速算術運算:例如,切換比通過FPU更快的符號位。
維基百科:
MSB
符號的振幅表示
這表示也被稱爲「符號 - 量值」或「符號和數值」表示。在這種方法中,表示數字符號的問題可以是分配一個符號位來表示符號:將該位(通常是最高位)設置爲0爲正數或正零,並將其設置爲1是爲負數或負零。數字中的其餘位表示幅度(或絕對值)。因此,在一個只有7位的字節中(除了符號位),幅度可以從0000000(0)到1111111(127)。因此,一旦符號位(第八位)被添加,從-12710到+12710的數字可以表示。這種表示的結果是有兩種方法可以表示零,即00000000(0)和10000000(-0)。這樣一來,在-4310一個八位字節編碼爲10101011
LSB
最低顯著位具有快速變化,如果數字甚至略有改變的有用的屬性。例如,如果將1(二進制00000001)添加到3(二進制00000011),則結果將是4(二進制00000100),並且三個最低有效位將會更改(011到100)。相比之下,三個最高有效位(MSB)保持不變(000至000)。
在僞隨機數發生器,散列函數和校驗和中經常使用最低有效位。的