簡體   English   中英

二進制到十進制數的轉換

[英]binary to decimal number conversion

我知道如何從二進制數中找到十進制等價物。 例如,找到二進制數 (101.01) 的十進制等值的一般方法是 (2^2)*1 + (2^1)*0 + (2^0)*1 + (2^-1)*0 + (2 ^-2)*1。

我的疑問是我們如何找到十進制等效范圍為±3.4×10^38的冗長二進制數的十進制等效項。 冗長的意思是其中包含大量位,例如 0.00000000000100100100010100010010101 等。

我用我在開始時給出的一般方法進行了嘗試,但是在這里使用該方法會導致大量時間消耗,並且幾乎可以肯定得到錯誤答案的可能性。

同樣,我嘗試使用計算器和在線二進制到十進制轉換器,它們給出了近似結果,但我需要准確的結果。

如果使用某些軟件我可以做到這一點,那么請分享,我的最終目標是找到從冗長的二進制數中找到 100% 准確的十進制等效范圍 ±3.4×10^38 的方法。

您的問題源於計算機不知道如何處理非常小(或大)的數字。 您的 CPU 有一個稱為 ALU(算術邏輯單元)的組件,它對具有設定位數的數字進行基本計算。 由於您的數字需要比普通 CPU 存儲更多的位,因此會導致舍入錯誤和計算錯誤。

為了解決這個問題,您可以使用任意精度算術軟件,它占用更多的 memory 並模擬計算機的 ALU 以獲得無限數量的位(盡可能多的您的 memory 可以處理),以換取 ZE199B49D7F3D619806

你可以在這里找到這樣的軟件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM