1.随意输出整数的二进制形式 这个时候我们可以任意打印整数的二进制形式
我们如果要想看-1的二进制的话 我们会看到-1的补码
#include <stdio.h>
#include <stdlib.h>
int main()
{
char t[50];//注意这个数组的大小要足够包含我们想要的内容
_itoa(9, t, 2);//itoa i to arry i整数转换到数组或字符串(里面包含\0) 这句代码意思是将整数9放到这个数组里面并以二进制形式储存
puts(t);//等价的作用于下面那句代码
printf("%s", t);
}
2.判断一个整数是几位数
int f(int n)
{
char t[50];
_itoa(n, t, 10);//以十进制的形式进行储存
return strlen(t);//我们用strlen求这个长度就可以了 比如1678放进去 用strlen一检测就是4个字节那么就是长度就是4
}
int main()
{
int n = 0;
scanf("%d", &n);
printf("这是%d位数", f(n));
}
//2.我们还有第二种方法 就是利用循环的方法?
int main()
{
int n = 1;
int count = 0;
scanf("%d", &n);
while (n / 10)
{
n = n / 10;
count++;
}
printf("%d", count);
}
3.输出整数的后n-1位数?
补充一个函数叫做atoi就是将字符转换为数字就是逆着来的
#include <stdio.h>
#include <stdlib.h>
//函数返回整数后n-1位数
int f(int n)
{
char t[50];
_itoa(n,t,10);//这句就是将n以10进制形式放到这个字符数组里面去
return atoi(t+1);//这个意思就是返回这个数的后n-1位 因为是首元素地址+1得到的 我们就往后去返回这个字符串的值 以10进制形式返回
}
int main()
{
int n=0;
scanf("%d",&n);
printf("%d\n",f(n));
}
|