ホームページ > バックエンド開発 > PHPチュートリアル > PHPにおける浮動小数点演算の機能とその対処法は何ですか?

PHPにおける浮動小数点演算の機能とその対処法は何ですか?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-13 12:14:03
オリジナル
1276 人が閲覧しました

php でのこの使用法における浮動小数点演算の機能は何ですか
php でのこの使用法における浮動小数点演算の機能は何ですか

まず百度百科事典の浮動小数点演算の例をご覧ください

http://wenku.baidu.com/view/9ba120a108a1284ac85043d8.html?re=view

つまり、16 進数の 42C88000
は、IEEE754 標準の 32 ビット浮動小数点を使用して計算されます。 100.25 に等しい

16 進数の C1C90000 が -25.125 になるように計算します。

既製の関数はありますか?

例を書くのを手伝ってください。とても感謝しています


ありがとうございます

-----ソリューションのアイデア----------------------

  <br />function hexToDecFloat($strHex) {<br />	$v = hexdec($strHex);<br />	$x = ($v & ((1 << 23) - 1)) + (1 << 23) * ($v >> 31 <br><font color='#FF8000'>------解决思路----------------------</font><br> 1);<br />	$exp = ($v >> 23 & 0xFF) - 127;<br />	return $x * pow(2, $exp - 23);<br />}<br />$a='42C88000 ';<br />echo hexToDecFloat($a);<br /> 
ログイン後にコピー



は 100.25
に等しい------解決策のアイデア------ -------
$s = '42C88000';<br />echo current(unpack('f', pack('V', hexdec($s))));<br />
ログイン後にコピー
100.25
$s = 'C1C90000';<br />echo current(unpack('f', pack('V', hexdec($s))));<br />
ログイン後にコピー
-25.125

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート