c語言中數的小數如何表示c語言中一個數的小數如何表示

2021-03-07 09:46:42 字數 3868 閱讀 8455

1樓:匿名使用者

4.2用c語言表示:double d = 4.2。c語言中用於描述小數的資料型別是float和double,float型別表示單精度浮點數,double表示雙精度浮點數。

1、float:

float 資料型別用於儲存單精度浮點數或雙精度浮點數。浮點型別的單精度值具有 4 個位元組,包括一個符號位、一個 8 位 excess-127 二進位制指數和一個 23 位尾數。

2、double:

double(雙精度浮點數)使用 64 位(8位元組) 來儲存一個浮點數。 它可以表示十進位制的15或16位有效數字。

擴充套件資料

(1) 浮點型與整型

將浮點數(單雙精度)轉換為整數時,將捨棄浮點數的小數部分, 只保留整數部分。將整型值賦給浮點型變數,數值不變,只將形式改為浮點形式, 即小數點後帶若干個0。注意:

賦值時的型別轉換實際上是強制的。

(2) 單、雙精度浮點型

由於c語言中的浮點值總是用雙精度表示的,所以float 型資料只是在尾部加0延長為double型資料參加運算,然後直接賦值。double型資料轉換為float型時,通過截尾數來實現,截斷前要進行四捨五入操作。

2樓:blackpink_羅捷

兩種表示

方式: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。

3樓:

我想你的意思是這樣的,a變數為浮點型資料(4.2),想得知其小數部分。

不知道是不是呢?

如果是的話,那麼:

float b = a-(int)(a);

4樓:匿名使用者

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型別

5樓:中國中醫拔罐器

好像有什麼函式吧。

不過一般的思路都是。

double d=4.2;

double m;

m=d-int(d);

printf("m=%0.1f",m ) //要幾位就零點幾位。

怎麼將c語言中一個浮點型資料的整數部分與小數部分提取出來

6樓:多xdl點事

**如下:

#include

int main()。

程式執行結果:

程式設計思路就是輸入一個浮點數,把這個浮點強轉為整數,c語言強制轉換浮點數為整數的話,會丟失精度,也就是小數部分,再把原來的數減去整數部分,就可以得到小數部分,然後定義變數把相應的部分儲存,列印出來就行了。

7樓:劍魔_獨孤殤

double x;

int a = (int)x;

double b = x-a;

c語言中float型資料怎麼 取整數部分演算法 或取小數部分

8樓:蟲心菜

分析如下:來

一種簡單的辦源

法是直接強制轉換到int型就是整數部分。減去這個int型就是小數部分了。

**如下:

float n=12.223;

int x=(int)n;

float y=n-(float)x;

得出的x為資料的整數部分,y為資料的小數部分。

拓展資料

浮點型資料型別,float 資料型別用於儲存單精度浮點數或雙精度浮點數。浮點數使用 ieee(電氣和電子工程師協會)格式。浮點型別的單精度值具有 4 個位元組,包括一個符號位、一個 8 位 excess-127 二進位制指數和一個 23 位尾數。

尾數表示一個介於 1.0 和 2.0 之間的數。

由於尾數的高順序位始終為 1,因此它不是以數字形式儲存的。此表示形式為 float 型別提供了一個大約在-3.4e+38 和 3.

4e+38 之間的範圍。

9樓:捐你妹

一種簡單的辦法是直接強制轉換到int型就是整數部分。

減去這個int型就是小數部分了。

10樓:

float x=1234.567,z;

long int y;

取整數部分: y = (int) x;

取小數部分: z = x - y;

11樓:匿名使用者

float n=12.223;

int x=(int)n;

float y=n-(float)x;

12樓:匿名使用者

小數取整

#include

void main()

如何用c語言表示一個數的小數次方?

13樓:匿名使用者

用pow()即可

例 求16的平方根,輸出4,double型#include

main()

14樓:楓若神明

#include

#include

int main()

C語言中,如何表示變數的n次方,C語言中,如何表示一個變數的n次方?

c語言中計算一個數的n次方可以用庫函式pow來實現。函式原型 double pow double x,double y 如下 include include intmain 注 使用pow函式時,需要將標頭檔案 include包含進原始檔中。擴充套件資料 其他方法表示一個數的n次方 include ...

在c語言中怎樣表示數的n次方在C語言中怎樣表示一個數的n次方

c語言中計算一個數的n次方可以用庫函式pow來實現。函式原型 double pow double x,double y 舉例如下 double a pow 3.14,2 計算3.14的平方。注 使用pow函式時,需要將標頭檔案 include包含進原始檔中。拓展資料 次方運算是數 算,我們可能在其他...

c語言中怎麼表示除法,C語言中怎麼表示除法

5處以2這樣寫 5 2結果是取整數的也就是等於2 是除法取餘數好好看看數吧 c語言中除號用 表示,相應的,乘號用 表示 a b 表示a除以b,但是需要注意,當a b均為整形時,運算為求出不大於商的最大整數,如10 7 1,5 2 2,13 4 3 相對應,a b表示求a除以b的餘數 如果要實數除法,...