0
A
回答
1
這裏是要找到一個十進制數的兩個最低顯著位,適合於你的頭做一個簡單的方法。
你只需要最後兩位數字,所以扔掉(精神上)休息。你的例子是33和55.看最後的十進制數字:如果它是奇數,最不重要的數字是1;如果是偶數,至少顯著數字是0。在你的例子,最後的數字是3和5,所以它們都具有一個二進制數字1
如果我們在最後一步得到的二進制數字爲1 ,從數字中減去1。所以你的例子現在是32和54.現在我們看看這兩個最後的十進制數字。如果最後一位十進制數字可以被4整除(即它是0,4或8),倒數第二位數字是偶數,則倒數第二位數字是0.如果最後一位數字不是可以被4整除(即它是2或6),倒數第二位數字是奇數,倒數第二位數字是0.否則,倒數第二位數字是1.在你的第一位例如,我們現在有32個,最後一個十進制數字是2,不是在第一個列表中,而是在第二個,而倒數第二個十進制數字是奇數,所以倒數第二個二進制數字是0。你的第二個例子,我們現在有54個,最後一個十進制數字是4,在第一個列表中,倒數第二個十進制數字是奇數,所以倒數第二個二進制數字是1.因此,133結束01以二進制表示,而255以11以二進制結束。
如果你不喜歡最後一個規則,您可以採用不同表達出來。如果該步驟中的兩位數字可以被4整除,則倒數第二位數字爲0,否則爲1.在您的示例中,32可以被4整除,因此我們得到0位,但是54不是可以被4整除,所以我們得到1位。結果是一樣的,但第二種方法需要您似乎想要避免的分割,而第一種方法避免了分割,但需要更多的內存工作。
相關問題
- 1. 如何將數字(十進制)轉換爲二進制(二進制)數字和從二進制到十進制?
- 2. 如何將二進制數(32位)轉換爲十進制數?
- 3. 十進制到二進制(二進制)
- 4. 二進制到十進制
- 5. 查找十進制數
- 6. 如何將十進制轉換爲二進制的64位?
- 7. 如何轉換OCaml中十六進制,十進制,十進制和二進制數之間的數字?
- 8. 十六進制,八進制,二進制到十進制(C++)
- 9. 查找最左邊的二進制數
- 10. 十進制素數到二進制
- 11. 十進制和二進制數處理
- 12. 將十進制數字轉換爲6位二進制數字
- 13. 查找C#十進制的最低有效位數
- 14. 轉換十進制整數爲4位二進制
- 15. 轉換32位二進制數轉換爲十進制
- 16. 將十六進制轉換爲二進制,然後轉換爲十進制
- 17. 十進制/十六進制/二進制轉換
- 18. 十六進制爲二進制和十進制在matlab中
- 19. 4位十進制到16位二進制轉換代碼
- 20. 將十六進制轉換爲二進制和16位二進制補碼
- 21. 如何轉換的NSString二進制和二進制到十六進制
- 22. Java遞歸十進制到二進制函數向後打印
- 23. 如何十六進制或十進制轉換爲二進制目標C
- 24. 如何選擇一個ntext列爲二進制/十六進制
- 25. 將十進制數位數組轉換爲二進制數位數組
- 26. zend_db_select對二進制列使用十六進制查詢參數
- 27. 如何將int數從十進制轉換爲二進制
- 28. 如何將二進制轉換爲十進制與長整數?
- 29. 如何在Haskell中實現十進制到二進制函數
- 30. 如何插入十六進制/二進制?成mysql數據庫?
「最後位」是什麼意思 - 最重要還是最不重要? – MBo
我的意思是至少顯著位[我需要位操作求助] – tzoella
可能的複製(http://stackoverflow.com/questions/16549303/i-need-help-on-bit-twiddling) –