[英]Java floating-point numbers representation as a hexadecimal numbers
為什么0x1p3
等於8.0
? 為什么0x1e3
等於483
,而0x1e3d
等於7741
? 這是令人困惑的,因為1e3d
等於1000.0
。
0x1e3
和0x1e3d
是十六進制整數文字。 請注意, e
和d
是十六進制數字,在這種情況下不是指數指示符或double
型指示符。
1e3d
是十進制浮點文字。 e
是指數指標, d
表示這是double
而不是float
。
符號0x1p3
是一種以十六進制表示浮點文字的方法,您可以在 Java 語言規范的第 3.10.2 節中閱讀。 1 乘以 2 的 3 次方; 指數是二進制的(因此,它是 2 次冪而不是 10 次冪)。
0x1e3 是 483 的十六進制,7741 的 0x1e3d 十六進制也是。 e
被讀取為值為 14 的十六進制數字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.