给定一个整数,统计十进制数字位数——推广→统计n进制数字的位数

统计一个整数是个几位数字?整数可以是负数,零或者正数.
示例 1:
输入:0
输出:1

示例 2:
输入:123456789
输出:9

示例 3:
输入:-123456789
输出:9

unsigned char GetFigures(int n)
{
	int count = 0;
	if(n == 0)
	{
		return 1;//如果n为0,则直接将结果返回为1
	}
	while(n != 0)
	{
		n /= 10;//除以10的次数就是该数的位数
		//若是统计16进制的位数,则n /= 16
		count++;
	}
	return count;
}

总结:给定一个整数,统计其m进制的位数,只需要在循环体内n /= m,循环的次数即为该进制数的位数。

你可能感兴趣的:(算法题,算法)