我想學習彙編程序,並且想編寫一個函數將數字轉換爲字符串。我想寫的函數的簽名會看起來像這樣在C狀方式:將整數轉換爲字符串
int numToStr(long int num, unsigned int bufLen, char* buf)
函數應該返回中使用的字節數,如果轉換成功,並0
否則。
我目前的做法是一個簡單的算法。在所有情況下,如果緩衝區已滿,則返回0.
- 檢查數字是否定的。如果是,則將
-
char寫入buf[0]
,並將緩衝區中的當前位置增加 - 重複除以10,並將剩餘部分存儲在緩衝區中,直到除法得出
0
。 - 顛倒緩衝區中的數字。
這是進行此轉換的最佳方式嗎?
這種方法的一個問題是,你會得到相反的順序數字。 – cnicutar
@cnicutar你讀過我的方法的第3點了嗎? – fuz
沒有看到:-) – cnicutar