将数字转换为具有多个参数的字符串

问题描述 投票:-1回答:1

我想将基数[[n的数字x转换为字符串并将其存储在str中。 str的最大大小为max。在此程序中,我不想使用任何库函数。如果达到数组的最大大小,该函数应返回false,并且数组内容应为未定义。

该函数的原型如下:

bool num2str(int x, char *str, unsigned n, unsigned max);

我将如何进行这项工作?我无法理解其背后的算法。

我还需要检查

n

的值,但是我已经这样做了:bool num2str(int x, char *str, unsigned n, unsigned max) { assert(n >= 2 && n <= 36); return true; }
但是那是我所能做的。请帮助。
c type-conversion atoi
1个回答
1
投票
让我们以10为底的数字:123456。现在让我们重复使用数字和10为底的模和整数除法。

123456 mod 10 = 6 123456 div 10 = 12345 12345 mod 10 = 5 12345 div 10 = 1234

如您所见,模数除以基数将提取最后一位,而整数除以基数将使数字右移。您可以对任何基础执行相同的操作。希望这个提示足够。
© www.soinside.com 2019 - 2024. All rights reserved.