【发布时间】:2014-05-04 03:29:56
【问题描述】:
我正在尝试找到一种方法来查找整数的长度(位数),然后将其放入整数数组中。该作业还要求在不使用 STL 的类的情况下执行此操作,尽管程序规范确实说我们可以使用“通用 C 库”(我会问我的教授是否可以使用 cmath,因为我假设 log10(num) + 1 是最简单的方法,但我想知道是否还有其他方法)。
啊,这不必处理负数。唯一的非负数。
我正在尝试创建一个变体“MyInt”类,它可以使用动态数组处理更广泛的值。任何提示将不胜感激!谢谢!
【问题讨论】:
-
@KerrekSB 实际上我认为他的意思是总的无符号值。那将是 (sizeof(int) * 8 - 1) 的 2 次方,对吗?编辑:没关系。
-
十进制整数的位数为(log(number) / log(10))。
-
不要重新发明轮子,使用“大数字”库。在网上搜索“c++ big number library”。
-
int len = n?0:1; while (n) { len++, n/=10 } -
谢谢你的提示,Thomas,但这实际上是课堂作业,对新手来说有点编程挑战!
标签: c++ count numbers integer digits