1、首先在電腦中打開vc6.0,新建一個項目,添加stdio.h頭文件。
成都創新互聯公司2013年開創至今,先為梅河口等服務建站,梅河口等地企業,進行企業商務咨詢服務。為梅河口企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
2、然后添加math.h頭文件,添加main函數。
3、接著定義double類型變量 number。
4、接著定義down、up變量,使用floor向下取整。
5、然后使用ceil向上取整,最后使用printf打印結果。
6、最后運行程序,看看結果,如下圖所示,就完成了。
c語言中查看小數長度的方法代碼如下:
1)如果按%s輸入,也就是按字符串格式輸入,先找到小數點的位置,然后統計下小數點后數字的長度。
具體實現可參考:
#include
#include
#include
intmain(intargc,char*argv[])
{
chara[128];
while(scanf("%s",a)!=EOF)
{
if(strstr(a,".")!=NULL)
printf("%d\n",strlen(strstr(a,".")+1));
else
printf("0\n");
}
system("pause");
return0;
}
2)如果按%f(對應float類型小數)或者%lf(double類型的小數)方式讀入,則需要先去掉整數部分,然后看小數部分一直乘10減去整數部分,知道等于0,統計,乘了幾次10,但是由于浮點數在計算機中存的并不是準確值,這個往往得不到正確的結果。可以使用sprintf(str,"%g",f);,然后由于f畢竟不是準確值,還是會出現有些問題,源碼如下:
#include
#include
#include
intmain(intargc,char*argv[])
{
chara[128];
floatf;
while(scanf("%f",f)!=EOF)
{
sprintf(a,"%g",f);
if(strstr(a,".")!=NULL)
printf("%d\n",strlen(strstr(a,".")+1));
else
printf("0\n");
}
system("pause");
return0;
}
%在c語言中有兩種釋義,一是求余符號,經常會用到判斷一個數是不是能被另一個整除。二是引導符,用于引導輸入輸出項表列的格式。
在scanf、printf這樣的函數中,將參數類型與輸入/輸出句子中的相應位置相對應所使用的轉義標志符。%c單個字符輸出的意思;%s是輸出字符串;%d是輸出整型;%f是輸出整型。其中常用的有%c--對應字符型char%s--對應字符串型char*(char[])%d--對應整形int%ld--對應長整形long%x--對應十六進制整數,大于9的字母小寫%X--對應十六進制整數,大于9的字母大寫%u--對應無符號整形unsignedint。
0.12345的小數點后第一位就是tab[0]=(int)(0.12345*10)
第二位就是tab[1]=((int)(0.12345*100)%10
第三位就是tab[2]=((int)(0.12345*1000)%10
以此類推
兩種表示方式:
1、定點表示:必須有小數點。
例如:0.123, .123, 123.0。
2、指數表示:e或E之前必須有數字,指數必須為整數。
例如:12.3e3 ,123E2, 1.23e4。
注意:浮點數常量默認為double類型,如果浮點數常量表示float類型,在末尾添加小寫的f或者大寫的F,表示此常量為單精度浮點常量。
定點小數是純小數,約定的小數點位置在符號位之后、有效數值部分最高位之前。若數據x的形式為x=x0.x1x2…xn(其中x0為符號位,x1~xn是數值的有效部分,也稱為尾數,x1為最高有效位),則在計算機中的表示形式為:
一般說來,如果最末位xn= 1,前面各位都為0,則數的絕對值最小,即|x|min= 2^(-n)。如果各位均為1,則數的絕對值最大,即|x|max=1-2^(-n)。所以定點小數的表示范圍是:2^(-n)≤|x|≤1 -2^(-n)。
擴展資料
由于“編碼總位數為8”的限制,真值-128無法用原碼、反碼來表示,似乎不能用上述規則來求解補碼,但實際上是可行的——只要不管它的最高位即可,操作辦法如下:
將128化為二進制為:1 0000000,最高位為1,可以只對舍去最高位后剩余的7位進行處理即可,首先取反得:1111111,加1得:1 0000000,最高位有進位需丟棄,即得:0000000,加上符號位就得補碼:1 0000000。
又如,當編碼總位數為4時,真值X=+0.101的原碼、反碼、補碼均為:0 101。
真值X=-0.101的原碼、反碼、補碼依次為:1 101、1 010、1 011。
同理,特例,-1的補碼為:1 000。
在定點小數中,小數點隱含在第一位編碼和第二位編碼之間
定點小數,是指小數點準確固定在數據某個位置上的小數,從實用角度看,都把小數點固定在最高數據位的左邊,小數點前邊再設一位符號位。按此規則,任何一個小數都可以被寫成 :N = NS . N-1?N-2?… N-M。
參考資料來源:百度百科-定點小數的表示方法
可以在輸出時,指定小數點后的有效位數,實現精確到若干位的效果。
要精確到小數點后若干位,則數據類型為浮點型,可能為單精度(float)或雙精度(double)。
在C語言中,使用格式化輸出函數printf來實現輸出。
輸出格式為
%.NF
1 %為格式化字符串的引導字符。
2 .N表示指定顯示N位小數。
3 F為類型字符,對于float, F值為f, 對于double,F值為lf。
舉例:
1 要輸出float a=1.23234; 保留3位小數的寫法為:
printf("%.3f",a);
2 輸出double b=123.345232; 保留4為小數,寫法為:
printf("%.4lf",b);
當前文章:小數的c語言函數,定義小數c語言
瀏覽路徑:http://www.yijiale78.com/article12/dschidc.html
成都網站建設公司_創新互聯,為您提供網站導航、營銷型網站建設、關鍵詞優化、虛擬主機、定制開發、自適應網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯