note 88849 added to language.types.float
| From: | info at forrest79 dot net | Date: | Tue, 10 Feb 2009 20:55:19 +0000 |
| Subject: | note 88849 added to language.types.float | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-150462@lists.php.net to get a copy of this message | ||
My BIN to FLOAT (IEEE754), the first one doesn't work for me:
function binToFloat($bin) {
if(strlen($bin) > 32) {
return false;
} else if(strlen($bin) < 32) {
$bin = str_repeat('0', (32 - strlen($bin))) . $bin;
}
$sign = 1;
if(intval($bin[0]) == 1) {
$sign = -1;
}
$binExponent = substr($bin, 1, 8);
$exponent = -127;
for($i = 0; $i < 8; $i++) {
$exponent += (intval($binExponent[7 - $i]) * pow(2, $i));
}
$binBase = substr($bin, 9);
$base = 1.0;
for($x = 0; $x < 23; $x++) {
$base += (intval($binBase[$x]) * pow(0.5, ($x + 1)));
}
$float = (float) $sign * pow(2, $exponent) * $base;
return $float;
}
----
Server IP: 147.32.160.17
Probable Submitter: 213.29.196.127
----
Manual Page -- http://www.php.net/manual/en/language.types.float.php
Edit -- https://master.php.net/note/edit/88849
Del: integrated -- https://master.php.net/note/delete/88849/integrated
Del: useless -- https://master.php.net/note/delete/88849/useless
Del: bad code -- https://master.php.net/note/delete/88849/bad+code
Del: spam -- https://master.php.net/note/delete/88849/spam
Del: non-english -- https://master.php.net/note/delete/88849/non-english
Del: in docs -- https://master.php.net/note/delete/88849/in+docs
Del: other reasons-- https://master.php.net/note/delete/88849
Reject -- https://master.php.net/note/reject/88849
Search -- https://master.php.net/manage/user-notes.php