#include <stdio.h>
#include <stdlib.h>
int
sumof1(
int
x)
//求一个数转换成二进制以后1的个数
{
int
countx = 0;
while
(x)
{
countx ++;
x &= x-1;
//每位与一次x - 1;就能消掉最后一个1
}
return
countx;
}
void
main(){
char
c[10];
int
i = 999;
itoa(i, c, 10);
//以10进制转换成字符数组
puts
(c);
itoa(i, c, 16);
//以16进制转换成字符数组
printf
(
"0x%s\n"
, c);
itoa(i, c, 8);
//以8进制转换成字符数组
printf
(
"0%s\n"
, c);
itoa(i, c, 2);
//以2进制转换成字符数组
puts
(c);
i =
atoi
(c);
//再将字符串转成整形
printf
(
"%d\n"
, i);
printf
(
"%d\n"
, sumof1(i));
//以2进制表示时1的个数
}