note 101318 added to language.types.float

From: Date: Thu, 09 Dec 2010 15:51:00 +0000
Subject: note 101318 added to language.types.float
Groups: php.notes 
Request: Send a blank email to php-notes+get-174752@lists.php.net to get a copy of this message
Convert a hex string into a 32-bit IEEE 754 float number. This function is 2 times faster then the below hex to 32bit function. This function only changes datatypes (string to int) once. Also, this function is a port from the hex to 64bit function from below. <?php function hexTo32Float($strHex) { $v = hexdec($strHex); $x = ($v & ((1 << 23) - 1)) + (1 << 23) * ($v >> 31 | 1); $exp = ($v >> 23 & 0xFF) - 127; return $x * pow(2, $exp - 23); } ?> <?php //example echo hexTo32Float("C4028000"); // outputs: -522 echo hexTo32Float("457F9000"); // outputs: 4089 echo hexTo32Float("2D7F5"); // outputs: 6.00804264307E-39 echo hexTo32Float("0002D7F5"); // outputs: 6.00804264307E-39 echo hexTo32Float("47D9F95E"); // outputs: 111602.734375 ?> ---- Server IP: 64.71.164.2 Probable Submitter: 70.161.146.214 ---- Manual Page -- http://www.php.net/manual/en/language.types.float.php Edit -- https://master.php.net/note/edit/101318 Del: integrated -- https://master.php.net/note/delete/101318/integrated Del: useless -- https://master.php.net/note/delete/101318/useless Del: bad code -- https://master.php.net/note/delete/101318/bad+code Del: spam -- https://master.php.net/note/delete/101318/spam Del: non-english -- https://master.php.net/note/delete/101318/non-english Del: in docs -- https://master.php.net/note/delete/101318/in+docs Del: other reasons-- https://master.php.net/note/delete/101318 Reject -- https://master.php.net/note/reject/101318 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#174752) next »