そいやこんな話を会社でしました。 なんか true == false を証明したら全ての定理を証明できると聞きましたが、困ったことに私はそれを証明できたみたいです! 以下に Perl による証明を書きます! > perl -le 'print 0==1' > perl -le 'print 0==0' 1つまり Perl は真は 1 として表示されるみたいです。 > perl -le 'print true==false' 1つまり真! true == false が証明されました! PHP によっても証明できます。 > php5 -r 'print false=="false";' (1) > php5 -r 'print false==0;' (2) 1 > php5 -r 'print 0=="false";' (3) 1 > php5 -r 'print true=="false"
Referer一覧の存在に気づいたので、リンクして下さっている方々の文章を今更読んでいます。ただ、おそらく浮動小数点数の扱いが拙いのをround関数のせいにしているような文章を見つけました。もしそういう誤解があれば非常に残念だと思うと同時に、これだけ注目を集めたからには浮動小数点数一般の罠について簡単に紹介してみても良いかな、と思いつきました。浮動小数点数まわりでハマった人がここに検索でやってくることがあるかもしれません。 そんなわけで、今回のテーマは啓蒙です。浮動小数点数の不思議さについて簡単な紹介記事を書いてみました。また、第1回記事中の誤っている点について、1点訂正をします。今回はイメージ先行で書いてみましたが、伝えていないことはあっても嘘は書いていないつもりです。正確な内容が知りたくなった方はWikipediaの記事「浮動小数点数」を読むと良いでしょう。または、そこからリンクされて
■[FizzBuzz]Perl と PHP で一緒に FizzBuzz なんとなく構文が似ていたので、 ムシャクシャしてやった。 perl -e'for($i=1;$i<=100;$i++){print(($i%15?$i%5?$i%3?$i:"Fizz":"Buzz":"FizzBuzz")."\n");}' php -r'for($i=1;$i<=100;$i++){print(($i%15?$i%5?$i%3?$i:"Fizz":"Buzz":"FizzBuzz")."\n");}' の方にコメントもらったので、さらにspidermonkeyでやってみる。 $ perl -e 'for($i=1;$i<=100;$i++){print($i%15?$i%5?$i%3?$i:"Fizz":"Buzz":"FizzBuzz");print("\n");}' $ php -r 'for($
しばらく工作する時間がとれなかったが、ぼちぼち再開する。 NCVCがバージョンアップしていた。 http://s-gikan2.maizuru-ct.ac.jp/
今日はPHPのround関数に関して前回と違った切り口で紹介してみます。また、コンピュータ上での整数についても少し紹介してみます。 前回の記事「PHPの奇妙なround関数」([id:hnw:20070515])を読んで、小数点が付いた数なんてPHPで触ったことないから関係ないや、なんて考えた方が居るかもしれません。そんな方のために、今回は整数を四捨五入してみます。 PHPのround関数は、省略可能ですが第2引数を取ることもできます。これは、何桁目までで丸めるかの指定です。デフォルトは0です。例えば第2引数に2を指定すると、小数点以下第3位を四捨五入して小数点以下第2位までに丸めてくれます。 ここにマイナスの数を指定することで、1の位より上の桁で四捨五入をすることもできます。たとえば、下記のように第2引数に-2を指定すれば100の位で丸められます。これは仕事でプログラムを書く際にも使える
(2012/11/01追記) 4年ほど前の記事「PHP5.3.0alpha3のround関数の実装がPHP5.2.6と変わった - hnwの日記」でお伝えした通り、PHP 5.3.0から別の実装が採用されており、本ページで指摘しているような挙動のPHPは既に絶滅危惧種です。念のため。 さて、プログラミングの話題もたまには書いてみます。今回はPHPのround関数の挙動が変だ!という話題です。 round()は浮動小数点数を四捨五入する関数で、大抵の言語に同じ名前で実装されているかと思います。ではPHPのround関数の何が問題なのか、ちょっと試してみましょう。 $ uname -sro Linux 2.6.9-42.0.10.plus.c4smp GNU/Linux $ php --version PHP 5.1.6 (cli) (built: Feb 23 2007 06:56:38)
2007年8月から、PHPユーザ会のWebサイトは新しいコンテンツに移行いたしました。古いコンテンツは oldwww.php.gr.jp より閲覧していただけます。 PHP とは PHP は、オープンソースの汎用スクリプト言語です。 特に、サーバサイドで動作する Web アプリケーションの開発に適しています。 言語構造は簡単で理解しやすく、C 言語の基本構文に多くを拠っています。 手続き型のプログラミングに加え、(完全ではありませんが)オブジェクト指向のプログラミングも行うことができます。 Linux や FreeBSD 等の多くの Unix 系システム, Microsoft Windows, Mac OS X など主要な OS で動作します。 また、Apache や Microsoft IIS を始めとした多くのウェブサーバをサポートします。 オープンソース なライセンスでリリースされて
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く