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

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

独立于编程语言:

floor(log10(x))+1

其中x是你的数字(> 0)。

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

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

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

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

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