2016-01-08 79 views
-5

如果我在10個字節的內存中存儲了大量數據,那麼如何將此數字轉換爲字符串?比如C%d如何將數字轉換爲字符串?C語言,如何將數字轉換爲字符串?

我不是在尋找一些庫或函數,我不知道如何將大字節數轉換爲字符串,這是我需要知道的。

+0

Sscanf。並請學習如何使用搜索 – Marged

+0

查找'snprintf()'。 –

+0

我說過了,我不是在尋找一些庫或函數:) –

回答

0

你需要使用一些組合邏輯來做到這一點。一個簡單的方法是先將10個字節的數字轉換爲BCD表示(二進制編碼的十進制),然後將BCD編號轉換爲ASCII字符串,這非常簡單。看看這個例子:https://en.wikipedia.org/wiki/Double_dabble

+0

謝謝你的回答,但唯一的方法或者是有更新的算法,在閱讀BCD的時候,有些人提到它被用在舊計算機上,但今天沒有被使用,那是對的嗎?那麼新的方法名稱是什麼?再次感謝您 –

+0

如果您的意思是BCD本地存儲電腦號碼,那麼是的,這是在「十進制電腦」時代的一種古老技術,即以十進制表示數字的計算機(而DCB僅僅是十進制數字表示中的一種) 。但它在許多電子系統中仍然使用,甚至在許多BIOS中用於存儲日期和時間。現在回到算法將任意長度的二進制數轉換爲十進制字符串,答案太多。 DCB方法是最簡單的方法之一。對於最有效的方法,您可能會從GMP庫源代碼中學習。 – mikedu95

+0

非常感謝您的幫助,但最後一件事是什麼,數學分支或書籍包括這樣的技術。 –

相關問題