hexToFloat di funzione (hexStr)
{
convertito di // al paio. rilievo con gli zeri principali
scomparto di varietà = di destra (repeatString (“0„, 32) & FormatBaseN (InputBaseN (hexStr, 16), 2), 32);
il segno di varietà = ha andato (scomparto, 1);
varietà exp = "";
uomo = "" di varietà;
varietà sfalsata = "";
se (== del segno 1) {
contrappeso = -1;
}
altrimenti {
contrappeso = 1;
}
exp = InputBaseN (metà di (scomparto, 2, 8), 2) - 127;
uomo = BitSHLN (2, 22) + InputBaseN (metà di (scomparto, 10, 23), 2);
dicembre = uomo * (2 ^ (exp - 23)) * contrappeso;
dicembre di ritorno;
}
|