double hexDouble = 0xf.8p3 如何计算为 15.5 * 2^3 ? (f.8 == 15.5 ??)

How is double hexDouble = 0xf.8p3 calculated as 15.5 * 2^3 ? (f.8 == 15.5 ??)

public class Main
{
    public static void main(String[] args) {
        
        double hexDouble = 0xf.8p3;
        System.out.println(hexDouble);
    }
}

double hexDouble = 0xf.8p3 是如何计算为 15.5 * 2^3 的? (f.8 == 15.5 ??) 是f.8,读作15.8 ??

请告诉我......

f是15 * 160 = 15,而8是8 * 16-1 = 0.5,所以 f.8 (十六进制)15.5 (十进制).