note 83716 deleted from language.types.float by danbrown

From: Date: Sat, 02 Feb 2013 15:11:41 +0000
Subject: note 83716 deleted from language.types.float by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-193499@lists.php.net to get a copy of this message
Note Submitter: an dot kovacs at gmail dot com ---- Converting IEEE754 binary representation to php float: function bin2float ($bin) { if((ord($bin[0])>>7)==0) $sign=1; else $sign=-1; if((ord($bin[0])>>6)%2==1) $exponent=1; else $exponent=-127; $exponent+=(ord($bin[0])%64)*2; $exponent+=ord($bin[1])>>7; $base=1.0; for($k=1;$k<8;$k++) { $base+=((ord($bin[1])>>(7-$k))%2)*pow(0.5,$k); } for($k=0;$k<8;$k++) { $base+=((ord($bin[2])>>(7-$k))%2)*pow(0.5,$k+8); } for($k=0;$k<8;$k++) { $base+=((ord($bin[3])>>(7-$k))%2)*pow(0.5,$k+16); } $float=(float)$sign*pow(2,$exponent)*$base; return $float; }

« previous php.notes (#193499) next »