扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
十进制数字个数 和长度 有多种方法 算得。
为东辽等地区用户提供了全套网页设计制作服务,及东辽网站建设行业解决方案。主营业务为做网站、网站设计、东辽网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
下面用两种方法计算。负数有个符号位,长度比位数多 m=1。
占内存的大小用sizeof(int) 可得,通常 32位机为4字节,64位机为8字节。
例如:
#include stdio.h
int main(){
int a=123456;
int n,m=0;
char s[60];
if (a0) m=1;
sprintf(s,"%d",a);
n = strlen(s);
printf("a has digit %d length %d\n",n-m,n);
n=0;
while (1){
a = a/10;
n++;
if (a==0)break;
}
printf("a has digit %d length %d\n",n,n+m);
printf("int has %d bytes\n",sizeof(int) );
return 0;
}
c语言中判断一个正整数的长度,可以采用下面的思路:
思将这个正整数与10整除,每除一次计数器+1,一直除到等于0为止。
参考代码如下:
#includestdio.h
main() {
int n,size=0;
printf("Please input a number[0]:");
scanf("%d",n);
while(n0){
size++;
n/=10;
}
printf("%d",size);
}
执行效果如下:
C语言有以下几种取整方法:
1、直接赋值给整数变量。如:
int i = 2.5; 或 i = (int) 2.5;
这种方法采用的是舍去小数部分
2、C/C++中的整数除法运算符“/”本身就有取整功能(int / int),但是整数除法对负数的取整结果和使用的C编译器有关。
3、使用floor函数。floor(x)返回的是小于或等于x的最大整数。如:
floor(2.5) = 2
floor(-2.5) = -3
4、使用ceil函数。ceil(x)返回的是大于x的最小整数。如:
ceil(2.5) = 3
ceil(-2.5) = -2
floor()是向负无穷大舍入,floor(-2.5) = -3;ceil()是向正无穷大舍入,ceil(-2.5) = -2。
#includestdio.h
#includemath.h
#includestring.h
int main()
{
char s[100];
scanf("%s",s);
printf("这个整数是%d位的\n",strlen(s));
return 0;
}
//#include"stdafx.h"//vc++6.0加上这一行.#include"stdio.h"voidmain(void){intn,sum=0;printf("Typeaninteger\nn=");scanf("%d",n);while(n){sum+=n%10;n/=10;}printf("Theresultis%d.\n",sum);}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流