c语言位数
A. 在c语言中如何输出数字的位数
1. 使用itoa函数把数转换为字符串类型,在使用strlen函数统计字符串长度。即数字的位数。
2. 例程:
#include<stdio.h>
#include<stdlib.h>//itoa要使用的头文件
#include<string.h>//strlen要使用的头文件
voidmain()
{
inti,len;
charstr[20];
scanf("%d",&i);//读入一个数字
itoa(i,str,10);//将该数字转换成字符串类型
len=strlen(str);/*计算字符串的长度[参数1:要转换的数参数2:转换后存放到的位置参数3:以十进制转换]*/
printf("INTotal:%d ",len);
}
B. C语言中整型数据的有效位数是多少
1、从二进制的角度来看整数的有效位数,要从整数的编码说起,有符号整数编码包括原码、反码和补码三种常规编码方式,原码表示即最高位为符号位,0表示正数,1表示负数,如果以8位二进制位来表示,符号位要占1位,所以有效位数7位。
要获取整型类型在当前编译环境中所占的位数,可以使用sizeof运算符。
#include<stdio.h>
intmain()
{
printf("sizeofint:%d
",sizeof(int));
return0;
}
2、如果要计算一个整数中的有效位数,可以不断的整除10求出来。如下代码:
#include<stdio.h>
inthow_many_int(ints)
{
inti=0;
while(s!=0)
{s/=10;i++;}
returni;
}
intmain()
{
inttest;
do
{
printf("输入整数:");
scanf("%d",&test);
printf("有%d位
",how_many_int(test));
}while(test!=~0);
return0;
}
说明:输入数值超出int所表示的范围,编译器会对输入数进行取模操作。输出-1结束循环,退出程序。
C. C语言中如何判断一个数的位数
C语言中判断一个数的位数:
#include<stdio.h>
voidmain()
{
voidnum(inta);
longa;
scanf("%ld",&a);
num(a);
}voidnum(inta)
{
longb=0;
inti;
for(i=0;a>0;a/=10,i++)
{
b=(b*10)+a%10;
}
printf("%d位的,逆序数=%ld ",i,b);
}
D. C语言怎么判断,整数的位数
#include<stdio.h>
#include<string.h>
voidmain()
{
charstr[1000];
inti,n;
gets(str);
n=strlen(str);
for(i=0;i<n;i++)
{
if(str[i]<48||str[i]>57||(int)str[0]==48)
{
printf(" 输入有误,不是整数。 ");
break;
}
elseif(i>=n-1)
printf(" 输入的整数是%d位数。 ",n);
}
}
运行示例:
E. C语言怎么计算一个数有多少位
C语言怎么计算一个数有多少位的方法:
输入待计算的数x
定义一个数位的变量int n=0;
循环,x每次缩小10倍,n=n+1; 最终x会变成0,循环结束
输出n值
代码:
#include<stdio.h>
voidmain()
{
intx,m,n=0;
printf("inputx:");scanf("%d",&x);
m=x;//备份原数,供输出用
do{
n++;
x/=10;
}while(x>0);
printf("%d是%d位数 ",m,n);
}
F. c语言中整数位数判断
1、新建一个判断一个整数有多少位数项目。
G. c语言 求小数的位数
#include<stdio.h>
#include<string.h>
intmain()
{
inti,x,y;
chars[100];//用字符串存储浮点数
printf("请输入浮点数:");
gets(s);
y=strlen(s);
for(i=0;i<100;i++)
{
if(s[i]=='.')
x=(i+1);
}
y-=x;
printf("%d ",y);
return0;
}
看来还是没明白你的意思,呵呵
H. C语言各类型数据的位数是多少
这个跟系统有关的,你可以通过sizeof各个类型来看字节数,从而算出位数。具体可以用以下代码看
#include<stdio.h>
void main()
{
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long int));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
}
一般我们用的32位系统是:
类型 字节数 位数 范围
int 4 32 -2147483648 ~ 2147483647
long 4 32 同上
float 4 32 -2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38
double 6 64 -2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308