回覆列表
  • 1 # 使用者9840184032867

    最簡單的方法(除了直接用C庫的函式)

    float s = 0;

    for (;;)

    {

    s = s * 10 + *p - "0";

    }

    x.,xb

    如果你想硬轉的話,我只問你一個問題,把十進位制有效數字對齊到二進位制有效數字你有概念麼,事實上浮點數和字串裝換主要的工作就只是這麼一個問題。寫程式不是抄抄程式碼就成的,基本原理你都沒概念給你講有什麼用。

    ----

    嘛... 其實已經告訴你了,把十進位制有效數字對其到二進位制上... 二不能被五整除所以對齊結果可能是無限小數;然後把10底的指數換算成2底的在把對齊時候的偏差也加進去就有了有效數字和指數(因為前面有效數字對齊了所以這個指數肯定是整數)。具體過程既然別人寫出來是論文我寫出來也不會好看到哪兒去。 論難度的話也就是高考數學大題稍強的水平吧,因為只是高三知識折騰來折騰去x.,x

    ----

    你要理解這麼個情況,知道這個演算法並且還有閒心逛知道的就算除了我以外還有別人一隻手也能數過來。這種沒幾個人知道的東西你覺得在沒有基礎鋪墊的情況下我可能三言兩語跟你說清楚麼。所以我一直在給你傳達的資訊就是別研究這種沒什麼意義的東西了,實際操作中只要不是想徹底自己實現浮點數和字串的相互轉化,不可能用到這個(這也就是這個並不是特別難的演算法為什麼沒幾個人知道的另一方面原因,不過它依然很麻煩)。況且這個根本不是計算機問題而是徹頭徹尾的數學問題。

  • 中秋節和大豐收的關聯?
  • 南極為啥沒有熊?