double型佔64位(0~63)
其中最高位63bit表示符號:0正1負
62~52bit:11位的指數字
52~0bit:52位的資料位
舉例說明:-64.446263
共8位元組,63bit:1;
62~52bit: 64=100 000; 所以指數應該是7,這裡使用隱藏位技術,第一位1隱藏,所以指數字=6;同時指數字基數為1023所以最終為1029=100 0000 0101;
52~0:前6位應該是00 0000(64=100 0000 隱藏最高位1);剩下46位表示0.446263
使用十六進製制表示: 0x c0 00 50 ......
實際儲存為高位位元組在最右邊。
char型轉成double型在c++中可以使用memcpy函式:
char temp[8] = ;double d=0
; memcpy(&d, temp, 8);
double型資料輸入輸出
double a scanf f a 應該使用scanf lf a 執行上面語句時,發現double型別的輸入不能使用 f進行輸入,得用 lf才能正常得到a的值。而在輸出double型別時卻可以用 f,這是因為printf只認識雙精度,遇到 f自動將float型的引數轉換成double型。但是因為s...
float和double型資料算術運算
計算機中儲存數字是用2進製表示的,所有在儲存double型別的資料並不能精確到0.1,所以在用double做操作的時候會因為精度問題出現一些和實際不一樣的結果,如果要求精度很高的話就用bigdecimal來計算,bigdecimal提供了加 減 乘 除的方法,直接呼叫就可以了。如 計算兩個doubl...
把double型轉換為int型
double d1 100.00 double d1 new double d1 int i1 d1.intvalue 簡單型別的變數轉換為相應的包裝類,可以利用包裝類的建構函式。即 boolean boolean value character char value integer int val...