1樓:匿名使用者
用c語言表示:double d = 語言中用於描述小數的資料型別是float和double,float型別表示單精度浮點數,double表示雙精度浮點數。
1、float:
float 資料型別用於儲存單精度浮點數或雙精度浮點數。浮點型別的單精度值具有 4 個位元組,包括乙個符號位、乙個 8 位 excess-127 二進位制指數和乙個 23 位尾數。
2、double:
double(雙精度浮點數)使用 64 位(8位元組) 來儲存乙個浮點數。 它可以表示十進位制的15或16位有效數字。
2樓:blackpink_羅捷
兩種表示。
方式:1、定點表示:必須有小數點。
例如:, 123, 。
2、指數表示:e或e之前必須有數字,指數必須為整數。
例如: ,123e2, 。
注意:浮點數常量預設為double型別,如果浮點數常量表示float型別,在末尾新增小寫的f或者大寫的f,表示此常量為單精度浮點常量。
定點小數是純小數,約定的小數點位置在符號位之後、有效數值部分最高位之前。若資料x的形式為x=其中x0為符號位,x1~xn是數值的有效部分,也稱為尾數,x1為最高有效位),則在計算機中的表示形式為:
一般說來,如果最末位xn= 1,前面各位都為0,則數的絕對值最小,即|x|min= 2^(-n)。如果各位均為1,則數的絕對值最大,即|x|max=1-2^(-n)。所以定點小數的表示範圍是:
2^(-n)≤|x|≤1 -2^(-n)。
3樓:
我想你的意思是這樣的,a變數為浮點型資料(,想得知其小數部分。
不知道是不是呢?
如果是的話,那麼:
float b = a-(int)(a);
4樓:匿名使用者
c語言中用於描述小數的資料型別是float和double,float型別表示單精度浮點數,double表示雙精度浮點數。
c語言中浮點數常量有兩種表示方式:
1、定點表示:(必須有小數點) 如:, 123, 。
2、指數表示:(e或e之前必須有數字,指數必須為整數)如: ,123e2, 。
錯誤的寫法:e-5 ,,e3。
注意:浮點數常量預設為double型別,如果浮點數常量表示float型別,請在末尾新增小寫的f或者大寫的f,表示此常量為單精度浮點常量。
float f1 = 小寫f
float f2 = 大寫f
double d = double型別。
5樓:中國中醫拔罐器
好像有什麼函式吧。
不過一般的思路都是。
double d=;
double m;
m=d-int(d);
printf("m=%"m ) 要幾位就零點幾位。
怎麼將c語言中乙個浮點型資料的整數部分與小數部分提取出來
6樓:多xdl點事
**如下:
#include
int main()。
程式執行結果:
程式設計思路就是輸入乙個浮點數,把這個浮點強轉為整數,c語言強制轉換浮點數為整數的話,會丟失精度,也就是小數部分,再把原來的數減去整數部分,就可以得到小數部分,然後定義變數把相應的部分儲存,列印出來就行了。
c語言中float型資料怎麼 取整數部分演算法 或取小數部分
7樓:捐你妹
一種簡單的辦法是直接強制轉換到int型就是整數部分。
減去這個int型就是小數部分了。
8樓:
float x=,z;
long int y;
取整數部分: y = int) x;
取小數部分: z = x - y;
在c語言中有沒有什麼樣的方法能求出乙個小數的小數部分
9樓:飛飛
a-=(int)a;
(int)a將a強制轉換為正整數,直接捨棄小數部分。
執行上面的a-=(int)a; 得到的a不就是原來的小數部分麼?
我說的明白?
10樓:惠階平
先把這個float型的數強制轉換為int型,再用原來的float數減去這個int數即可,如:
float a= ,int b,c;
b=(int)a;
c=a-b;
c即為所求的數。
怎麼用c語言求乙個陣列中所有數的整數部分和及小數部分和?
11樓:風若遠去何人留
對於任意的浮點數f, c語言規定,將其強制轉換為整型時,(int)f就是其整數部分的值。
根據這個,可以知道小數部分就是f - int)f。
不過,要求整數部分和小數部分和,可以有更簡單的思路,不需要求每個數的小數部分,而是求得所有數的整數部分和後,用所有數的和減去整數部分和,也就是小數部分和了。這樣可以精簡**,提高效率。
演算法流程如下:
1 定義兩個統計變數,儲存整數和以及所有數的和,初始化為0;
2 遍歷陣列,求每個數的整數部分,並累加到整數和。
3 同步計算每個數的和;
4 遍歷結束後,結果相減就是小數和;
5 輸出結果。
float a[10];
int s_int = 0;
float s_float = 0;
int i;
for(i = 0 ;i < 10; i ++scanf("%f", a[i]);輸入10個數for(i = 0; i < 10; i ++s_float -=s_int; /得到小數部分和。
printf("整數部分和為 %d, 小數部分和為%f", s_int, s_float);/輸出。
12樓:匿名使用者
int a[100],i;定義陣列。
int sum1=0;儲存整數和。
float sum2=;儲存小數和。
for(i=0;i<100;i++)
13樓:匿名使用者
演算法思想:每乙個數除以一的商是整數部分,餘數是小數部分。
大概程式如下(未進行除錯)
void main()}
c語言中如何將小數點部分一位一位取出?
14樓:尤永修喻辰
在輸出時,小數點算做一位。a++不能被賦值,程式有誤,應少寫乙個加號,a=a+=5;.十進位制-16在計算機裡是這麼表示的,16的二進位制碼是0000000000010000,若要表示-16,則將16的二進位制碼取反,得到1111111111101111,再將此數加1,得到1111111111110000,111111110000就是-16在計算機記憶體中儲存形式,稱為補碼。
由於%u表示無符號的整數所以第一位不是符號判斷位,所以他會將補碼認為是乙個正整數,所以此二進位制值化為十進位制是4294967280.所以%u表示-16的值為4294967280.
15樓:網友
修改了樓上的**。
t=n*1000 改為 t = n*10000
16樓:
main()
輸出結果應該就跟你要的一樣。
c語言中怎麼把乙個實數分解成整數部分和小數部分
c語言中如何輸入數輸出這個數的字元
從鍵盤輸入乙個字串,輸出小寫字母並統計個數用c語言怎麼寫拜託幫幫忙,int a 10 i,n 0 gets a for i 0 i 如果是0 9,可以使用 i 0 i為輸入的數字 include main 注意不要超過256 c語言裡,輸入乙個字元,輸出乙個數字該怎麼寫?1 首先需要知道bai字元本...
c語言 判斷數的位數,C語言 判斷乙個數的位數
如下 include int main int a,b int i printf 請輸入乙個數字 scanf d a b a for i 0 a 1 i a a 10 printf d是 d位數 n b,i 思路 因為整數除以整數的結果是整數,所以乙個數每除以10,位數就少1,所以可以採用while...
c語言如何判斷數是完數,C語言如何判斷乙個數是完數?
2 然後就可以開始編寫 了,這裡完數的意思就是乙個數等於它的因子之和,比如6的因子為1 2 3,而6剛好是這些數之和。根據完數的定義,程式要輸入乙個數的範圍,接著計算出所選取的整數i的因子,將各因子累加到變數s 若s等於i,則可確認i為完數 3 最後執行查詢,輸入乙個範圍,程式就會自動查詢這個範圍內...