给定一个正整数,如果把它转为十六进制,那么它是个几位数字呢?
示例 1:
输入:12345678
输出:6
解释:12345678转成十六进制为0x BC614E,即6位.
示例 2:
输入:0x12345678
输出:8
示例 3:
输入:0X12AB34
输出:6
算法:在计算机中,数都是二进制码的形式存储。由十进制数统计位数/10可以知道,十六进制也可以这样处理,每次丢弃十六进制的”个位”,直到0,统计丢弃的次数即可.其它进制的处理过程类似.
int NumOf0X(int n)
{
int ans = 0;
while