37
A
回答
46
0x0.3p10
是在C99中引入的十六進制浮點字面值的示例。 p
將基數與指數分開。
0x0.3
位被稱爲有效數字部分(整體帶有可選小數部分),指數是它被縮放的2的冪數。
該特定值被作爲在0.3
十六進制或3 * 16-1
(3/16
)乘以210
(1024
),其給出3 * 1024/16
或192
計算。
下面的程序證實了這一點:
#include <stdio.h>
int main (void) {
double d = 0x0.3p10;
printf ("%.f\n", d);
return 0;
}
部分C99的6.4.4.2
具有所有的細節:
一個浮動常數具有一個有效數部分可以跟一個指數部分和一個後綴它指定了它的類型。有效數字部分的組成部分可以包括一個代表整數部分的數字序列,後跟一個句點(。),後面跟着一個代表小數部分的數字序列。
指數部分的組成部分是一個e,E,p或P,後跟一個由任意有符號數字序列組成的指數。整數部分或小數部分都必須存在;對於十進制浮點常量,週期或指數部分必須存在。
有效部分被解釋爲(十進制或十六進制)有理數;指數部分的數字序列被解釋爲十進制整數。對於十進制浮點常量,指數表示有效位數部分將被縮放的功率。對於十六進制浮點常數,指數表示有效位部分將被縮放的2的冪。
對於十進制浮點常量以及FLT_RADIX不是2的冪時的十六進制浮點常量,結果可以是最接近的可表示值,也可以是緊鄰最接近的可表示值的較大或較小的可表示值,在一種實現定義的方式。對於FLT_RADIX爲2的冪時的十六進制浮點常量,結果正確舍入。
相關問題
- 1. 十六進制浮點數
- 2. 從字節數組中打印十六進制浮點常量
- 3. Lua - 十六進制浮點數
- 4. 十六進制浮點舍入
- 5. Java浮點到IEEE-754十六進制?
- 6. 從十六進制到浮點數 - Javascript
- 7. 以十進制和浮點格式打印十六進制值
- 8. 十六進制十進制浮點數Python
- 9. 將十進制值轉換爲32位浮點十六進制
- 10. 將IEEE浮點十六進制轉換爲十進制?
- 11. 轉儲十六進制漂浮在C++
- 12. C++/CLI中的ldexp或十六進制浮點數
- 13. 在C中浮點指向十六進制#
- 14. 在C#中將十六進制轉換爲IEEE 754浮點數
- 15. 浮點十六進制八進制二進制
- 16. 在MATLAB中使用十六進制浮點常量解析文件
- 17. 定義十六進制常量(68000)?
- 18. ç十六進制常量類型
- 19. 在C++中將十六進制十六進制字符標記爲十進制
- 20. 轉換 - ASCII十六進制浮點在C++
- 21. 將十六進制轉換爲浮點數C
- 22. 十六進制浮點數IEEE 754雙精度C++
- 23. C編程 - 十六進制或十進制常規
- 24. 將二進制浮點數轉換爲十六進制浮點數
- 25. 十六進制串&十六進制
- 26. 在C++中聲明char十六進制常量11
- 27. 十六進制字符串與浮點數浮動
- 28. 浮點十六進制字符串返回浮動
- 29. 在C +/C++中查找十六進制範圍內的十六進制數字
- 30. Haskell中浮點數的十六進制表示
嗨,那它代表什麼十進制值? `p`代表一些英語單詞嗎?謝謝。 – 2011-01-28 07:31:46