2015-05-05 37 views
6

我在Java中發現了一個非常奇怪的號碼聲明。Java - 好奇號碼聲明

double x = 0xap-001; 

我很好奇,爲什麼x的值是5.0

+2

http://stackoverflow.com/questions/4546532/java-floating-point-numbers-representation-as-a-hexadecimal-numbers – Mat

回答

8

p表示二進制冪。所以你有十六進制0xa == 10,二進制指數爲-1 - 換句話說右移或移位2.結果是10/2 = 5.

+1

明白了,謝謝! – Valy