如何计算c ++中给定数字的位数

时间:2011-01-07 10:18:50

标签: c++ c

计算给定数字或用户输入的数字位数。

3 个答案:

答案 0 :(得分:8)

独立于编程语言:

floor(log10(x))+1

其中x是您的号码(> 0)。

如果你想处理0和负数,我会建议这样的事情:

x == 0 ? 1 : floor(log10(abs(x)))+1

答案 1 :(得分:4)

将数字转换为字符串并计算字符数。

答案 2 :(得分:0)

我假设您想知道表示二进制数(例如int)需要多少个10位数字。

double x = something(positive); 
double base = 10.0; 
double digits = ceil(log(x + 1.0) / log(base));