我有一個128位的數字存儲爲2個64位數字(「Hi」和「Lo」)。我只需要將它除以32位數字。我怎麼能這樣做,使用CPU的本地64位操作? (請注意,我不需要一個任意的精確庫,只需要知道如何使用本地操作進行這種簡單的分割,謝謝)。在64位機器上的無符號128位除法
5
A
回答
3
如果您使用體系結構可以處理的最大可能本機表示(64位)存儲值(128位),則在處理分區的中間結果(如您已經找到:)時會遇到問題)。
但是,您始終可以使用SMALLER表示法。四個32位的數字呢?這樣你可以使用本地的64位操作而不會出現溢出問題。
一個簡單的實現(在Delphi中)可以找到here。
2
一些c代碼here。
相關問題
- 1. 在64位機器上調用64位Dephi DLL從C#在64位機器上
- 2. 在64位機器上生成32位
- 3. 無法通過64位機器上的ASP.NET在64位機器上連接Oracle服務器
- 4. 64位機器上的strtok
- 5. 無符號16位和64位整數
- 6. 64位無符號減法,問題
- 7. 64位機器上的SQL Server 2012 32位或64位?
- 8. ColdFusion IPv6到128位無符號int
- 9. 安裝在64位機器上的Enthought Canopy的64位問題
- 10. java.lang.UnsatisfiedLinkError:無法在Windows x86機器上的32位JVM上加載64位SWT庫
- 11. 64位的32位除法
- 12. 需要在32位長的機器上執行64位乘法
- 13. 使用64位有符號值在SQL和C#中模擬128位無符號整數?
- 14. 運行64位計算機的128位Fortran計算
- 15. 如何在64位機器上將64位C++程序編譯?
- 16. 添加一個128位xmm寄存器的高64位和低64位
- 17. 如何在16位機器上執行64位乘法?
- 18. 64位機器上的32位或64位虛擬機速度更快(vmware)
- 19. 無法在Windows 7 64位機器上創建sqlite3數據庫
- 20. 無法在Windows 8.1 64位機器上安裝M2Crypto軟件包
- 21. jar文件無法在64位機器上運行
- 22. 指定64位數據模型上的64位無符號整數文字
- 23. 算法使用32位無符號整數乘64位數
- 24. 在64位機器上卸載時,Dllhost.exe * 32無法釋放32位資源
- 25. Perl DBD無法連接到64位機器上的MySQL
- 26. 爲什麼我無法在64位CPU上安裝64位Ubuntu?
- 27. 在32位和64位機器中總是長64位
- 28. Sqlite在64位機器上MvvmCross失敗
- 29. 32位DLL無法在64位服務器上工作C#
- 30. HDF5寫出32位無符號整數到磁盤上的64位,並讀入32位無符號int
完美。謝謝! – rookie 2009-12-10 01:08:14