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