1. 在c語言中有沒有什麼樣的方法能求出一個小數的小數部分
a-=(int)a;
(int)a將a強制轉換為正整數,直接舍棄小數部分。
執行上面的a-=(int)a; 得到的a不就是原來的小數部分么?
我說的明白?
2. C語言中如何求小數
如果要求小數,數的定義必須為float或double類型。
3. c語言如何取小數,比如說輸入1.23輸出23,輸入1.001輸出001;我這個不對,求大神
你的程序沒有錯。
問題是浮點數本來就是不能精確表示的。
比如輸入1.23,那麼在xj=m-temp;這一句執行後,在VC里用F5調試的時候,你會發現xj的值不是0.23,而是0.22999999999……。
所以你的程序沒有錯,只是純粹是理論上的。
4. C語言求最小數的問題
c語言中用來存儲小數的doube(雙精度數)是8個位元組。整數部分4個位元組,小數部分4個位元組。
4個位元組一共能夠表達4294967296個數字,而小數中0到1之間有無窮個小數,所以計算機是無法表示真正精確的小數的。
5. c語言中如何求最小數
c語言中用於描述小數的數據類型是float和double,float類型表示單精度浮點數,double表示雙精度浮點數。
c語言中浮點數常量有兩種表示方式:
1、定點表示:(必須有小數點)
如:0.123,
.123,
123.0。
2、指數表示:(e或e之前必須有數字,指數必須為整數)如:12.3e3
,123e2,
1.23e4。
錯誤的寫法:e-5
,1.2e-3.5,e3。
注意:浮點數常量默認為double類型,如果浮點數常量表示float類型,請在末尾添加小寫的f或者大寫的f,表示此常量為單精度浮點常量。
float f1 = 1.1f; //小寫f
float f2 = 1.1f; //大寫f
double d = 1.1; //double類型
6. 求C語言小數精確計算
你好,在編程中不要指望去得到一個精確的數字,而應該是頂一個誤差范圍(相對誤差)。如 double eps = 0.000000001;然後再把數字與 eps 比較。
if((68 - n)<eps)即認為 n = 68;。當然,這是人工處理。如果想得到精確數字,可以用 Boost 庫。
7. C語言中除法怎麼取得小數
1、打開C-Free,新建文件。
8. 如何用c語言計算小數點後位數
這個要看小數按什麼格式輸入。
如果按%s輸入,也就是按字元串格式輸入,先找到小數點的位置,然後統計下小數點後數字的長度。
具體實現可參考:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
intmain(intargc,char*argv[])
{
chara[128];
while(scanf("%s",a)!=EOF)
{
if(strstr(a,".")!=NULL)
printf("%d ",strlen(strstr(a,".")+1));
else
printf("0 ");
}
system("pause");
return0;
}
這是最後一個已經出現錯誤,所以遇到要精確判斷小數點的位數,最好直接按字元串讀入,這和圖靈機的工作原理暗暗相合。
9. 如何用c語言計算小數點後位數(float本身都無法精確)
float以10進制只有7個有效數字,如果你存的數大於7位那麼一定會不準確,小於7位的就准確,其實float只有前7位有意義,有時會只有6位有意義。。。 也就是說你只用用7-整數位數就行,如果整數位為0,那麼你只需要7+第一個不是0的小數所在位置即可,即此時小樹位數是大於7的,但有效數字個數仍然是7。。。。
10. C語言中除法怎麼取得小數
除了一開始用float進行定義之外,後面進行除法運算的時候要加.0,否則算出的結果電腦會自動取整~~如:3/2的結果和3.0/2的結果就不同~~因為沒有定義3/2為浮點型,所以3/2自動取整,結果等於1而3.0/2,由於預先用浮點型表示其結果顯然為:1.5 除法運算符" / ",如果是兩個整數相除結果為整數如果需要保留小數時 必須將其中一個除數轉換為浮點數 #i nclude <stdio.h> #i nclude <math.h> main() { float x; float y; printf("Enter x:"); scanf("%d",&x); y=fabs((5*x+1)/(x*x+1)); printf("y is %f\n",y); } 或者 #i nclude <stdio.h> #i nclude <math.h> main() { int x; float y; printf("Enter x:"); scanf("%d",&x); y=fabs((float)(5*x+1)/(x*x+1)); printf("y is %f\n",y); }