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。擴充套件...