c語言中double是什麼意思,c語言double什麼意思

2022-02-08 01:20:02 字數 5587 閱讀 7128

1樓:方梓汐

double是c語言的一個關鍵字,代表雙精度浮點型。

結構:1.從儲存結構和演算法上來講,double是64位的,所以double能儲存更高的精度。

2.目前c/c++編譯器標準都遵照ieee制定的浮點數表示法來進行float,double運算。這種結構是一種科學計數法,用符號、指數和尾數來表示。

3.由於通常c編譯器預設浮點數是double型的,下面以double為例:

共計64位,摺合8位元組。由最高到最低位分別是第63、62、61、……、0位:

最高位63位是符號位,1表示該數為負,0正;

62-52位,一共11位是指數位;

51-0位,一共52位是尾數位。

按照ieee浮點數表示法,下面將把double型浮點數38414.4轉換為十六進位制**。

把整數部和小數部分開處理:整數部直接化十六進位制:960e。小數的處理:

0.4=0.5*0+0.25*1+0.125*1+0.0625*0+……

實際上這永遠算不完,這就是著名的浮點數精度問題。所以直到加上前面的整數部分算夠53位就行了(隱藏位技術:最高位的1不寫入記憶體)。

手工算到53位那麼應該是:38414.4(10)=1001011000001110.0110101010101010101010101010101010101(2)

科學記數法為:1.001……乘以2的15次方。指數為15。

於是來看階碼,一共11位,可以表示範圍是-1024   ~   1023。因為指數可以為負,為了便於計算,規定都先加上1023,在這裡,

15+1023=1038。二進位制表示為:100   00001110  。

符號位:正—   0 。

合在一起(尾數二進位制最高位的1不要):

01000000    11100010     11000001     11001101

01010101     01010101     01010101    01010101

按位元組倒序儲存的十六進位制數就是:

55   55   55   55   cd   c1   e2   40

2樓:匿名使用者

c語言中double是雙精度浮點數的申明語句。

3樓:琴汀蘭費卯

double是指雙精度浮點數型別。float指單精度浮點數型別。

它們的區別是精度的不同,double型別的精度約等於float的兩倍。

精度指精確到小數點後多少位。

都是用來宣告變數或常量型別的。

4樓:風若遠去何人留

double(雙精度浮點型)是計算機使用的一種資料型別。比起單精度浮點數(float),double(雙精度浮點數)使用 64 位(8位元組) 來儲存一個浮點數。 它可以表示十進位制的15或16位有效數字,負值取值範圍為 -1.

7976e+308 到 -4.94065645841246544e-324,正值取值範圍為 4.94065645841246544e-324 到 1.

797693e+308

在c語言中, double 輸入輸出使用格式字元%lf

5樓:雪先雨

double是c語言中的雙精度浮點數型別,用來表示實數。

1 定義:

double var_name;

這樣定義一個名字為var_name的double型別變數。

2 賦值:

var_name = 100.325;

同其它型別的賦值語句一樣,對var_name賦值用=運算子,右側可以是任意表示式。

3 輸入:

scanf("%lf", &var_name);

%lf格式符號對應double,可以用來對double型別輸入,以下輸出類似。

4 輸出:

printf("%lf", var_name);

6樓:秋涵佴煊

就是保留小數點後6位數的值。。。。

雙精度實數。佔用位元組8有效數字15~16數值範圍-1.7*10負308次方~1.7*10的308次方。

他儲存的數字比float的來得大

7樓:北京小排骨

double 是 雙精度浮點型定義型別- 有效數字16位

8樓:聽細雨說生活

回答您好,對方要雙份的吧

double[ˈdəb(ə)l]

adj. 供兩者用的;兩倍的;成雙的;雙層的;雙寫的;雙重的;重瓣的adv. 兩倍地;重疊地

pron. 兩倍

vt. 把⋯增加一倍;把⋯對摺;雙寫;握緊;重複;把⋯加倍vi. 增加一倍;兼作;兼任;兼奏;做替身演員;叫加倍n.

酷似的人;替身演員;一杯雙份的烈酒;雙份物;複式下注;叫加倍;雙倍;雙點;兩次獲勝

npl. 雙打

更多7條

c語言double什麼意思

9樓:不咩

double在這裡是指將變數i和變數s定義為雙精度實型變數。(也就是說:賦給這兩個變數的值將以雙精度實型格式儲存在記憶體中)

注意事項

1、型別說明符和表示式都必須加括號(單個變數可以不加括號),如把(int)(x+y)寫成(int)x+y則成了把x轉換成int型之後再與y相加了。

2、無論是強制轉換或是自動轉換,都只是為了本次運算的需要而對變數的資料長度進行的臨時性轉換,而不改變資料說明時對該變數定義的型別。

擴充套件資料

賦值中的型別轉換

當賦值運算子兩邊的運算物件型別不同時,將要發生型別轉換, 轉換的規則是:把賦值運算子右側表示式的型別轉換為左側變數的型別。具體的轉換如下:

1、浮點型與整型

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

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

2、單、雙精度浮點型

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

3、 char型與int型

int型數值賦給char型變數時,只保留其最低8位,高位部分捨棄。

char型數值賦給int型變數時, 一些編譯程式不管其值大小都作正數處理,而另一些編譯程式在轉換時,若char型資料值大於127,就作為負數處理。

對於使用者來講,如果原來char型資料取正值,轉換後仍為正值;如果原來char型值可正可負,則轉換後也仍然保持原值, 只是資料的內部表示形式有所不同。

10樓:風若遠去何人留

double是c語言的一個關鍵字,代表雙精度浮點型。

佔8 個位元組(64位)記憶體空間。其數值範圍為1.7e-308~1.7e+308,雙精度完全保證的有效數字是15位,16位只是部分數值***。

可以用格式化輸入輸出語句scanf和printf進行double型別的輸入輸出,格式化字元為%lf。

定義double a;

可以用scanf("%lf", &a);

進行輸入。

用prinf("%lf",a);

進行輸出。

11樓:別飛荷晏諾

可以注意到l,i都是整型,所以那個除法運算的結果是整數,系統會自動取整的,所以,當我們需要確保他是含有小數的時候,就需要首先強制轉換其中一個為浮點型,可以轉換為float或者double。這裡就是轉換為double

12樓:匿名使用者

c語言的資料型別分為整性變數和實型變數兩種。

double 為雙精度實型變數,實型變數包括float和double兩種,float一般為32位,double為64位。

整型變數包括int,short,long

13樓:匿名使用者

資料型別,雙浮點

定義變數i,s的型別

double就是定義一個雙精度,double i就把i定義為雙精度。

14樓:用手踢球

double是用來宣告變數的,跟float差不多!

15樓:匿名使用者

double就是定義一個雙精度,double i就把i定義為雙精度。

16樓:30上路

資料型別,雙浮點

定義變數i,s的型別

17樓:匿名使用者

靠。雙精度浮點數啊。

計算機c語言中的關鍵字:double是什麼意思?

18樓:shine戚七七

double:表示雙精度字型。

c語言中的關鍵字:

auto :宣告自動變數

break:跳出當前迴圈

case:開關語句分支

char :宣告字元型變數或函式返回值型別const :宣告只讀變數

continue:結束當前迴圈,開始下一輪迴圈default:開關語句中的「其它」分支

do :迴圈語句的迴圈體

double :宣告雙精度浮點型變數或函式返回值型別else :條件語句否定分支(與 if 連用)enum :宣告列舉型別

extern:宣告變數或函式是在其它檔案或本檔案的其他位置定義float:宣告浮點型變數或函式返回值型別for:一種迴圈語句

goto:無條件跳轉語句

if:條件語句

int: 宣告整型變數或函式

long :宣告長整型變數或函式返回值型別register:宣告暫存器變數

return :子程式返回語句(可以帶引數,也可不帶引數)short :宣告短整型變數或函式

signed:宣告有符號型別變數或函式

sizeof:計算資料型別或變數長度(即所佔位元組數)static :宣告靜態變數

struct:宣告結構體型別

switch :用於開關語句

typedef:用以給資料型別取別名

unsigned:宣告無符號型別變數或函式union:宣告共用體型別

void :宣告函式無返回值或無引數,宣告無型別指標volatile:說明變數在程式執行中可被隱含地改變while :迴圈語句的迴圈條件

c語言中有三種迴圈格式:for(),while(),do..while();

1、while迴圈格式為:

while( e )

其意義為:先檢查迴圈條件e是否為真,如果e為真,則執行迴圈體中的 while_statements ;語句,否則,結束while迴圈。 可以看出,當e第一次就是假時,while的迴圈次數會是0次,即:

這種寫法,最小執行次數為0.

2、do..while迴圈格式為:

do while( e ); //注意這裡的分號不能少!

其意義為:先執行迴圈體中的do_while_statements ;語句,然後再判斷e是否為假,如果為假則結束while迴圈,如果為真,則繼續迴圈。可以看出,當e第一次就是假時,do_while的迴圈次數會是1次,即:

這種寫法,最小執行次數為1. 或稱至少執行一次。

double在c語言中的意思是什麼?

double在這裡是指將變數i和變數s定義為雙精度實型變數。也就是說 賦給這兩個變數的值將以雙精度實型格式儲存在記憶體中。注意事項。1 型別說明符和表示式都必須加括號 單個變數可以不加括號 如把 int x y 寫成 int x y則成了把x轉換成int型之後再與y相加了。2 無論是強制轉換或是自動...

c語言中是什麼意思c語言中x是什麼意思

在c語言中,x代表的意思是按位取反的意思。將x按位取反 比如x 10101010b。那麼 x 01010101b。還要注意,在c語言中,還有邏輯取反符號 x 的返回值只有0和1兩種。如果x為0,則!x 1。如果x不等於0.則!x的返回值為0。擴充套件資料 c語言關鍵字。signed 宣告有符號型別變...

c語言中的,c語言中 是什麼意思

c語言中的 是邏輯運算中的非運算。是c語言中的非運算子,在變數前面使用它,會構建非運算表示式,表示式的返回結果是個布林值 也就是隻有true或false 對變數使用時,如果變數不是布林資料型別,將會強制轉化為布林型別再使用,如整形變數123將被轉化為true,整形變數0將被轉化為false。擴充套件...