サラリーマンのすらすらIT日記

IT関連を中心とした日々を綴ります。
--/--/--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2013/12/11

PHP−数値を3進数に変換

2つの状態を持つ変数であれば、TrueとFalseということでboolean型を使えばよいことはすぐにわかります。では3つの状態では?あるプログラムで3つの状態を表現する必要が出てきました。ある文字列を検索するに当たり、文字列に一致する、一致しない、存在しないという3つの状態です。しかもこれを複数扱うので、配列が必要です。boolean型はいわば2進数ですから、3つの状態ということなら3進数ということになります。はて、PHPで3進数が扱えたのか?

調べるとbase_convertなる関数がありました。よくある2進数、8進数、10進数、16進数だけではなくて、2進数から36進数まで扱えるとのこと。なぜ36かというと、変換対象の文字列を表現するのに、0から9の数字とaからzのアルファベットで合計36種類の文字があるからです。

文字列に一致した場合は2、一致しない場合は1、存在しない場合は0とすると、配列サイズ3で"210"であれば、3^2×2 + 3×1 + 0 = 21で、base_convert("210", 3, 10)は確かに21を返します。PHPはいろんな関数を持っていますが、こんなものまであったとは驚きです。

スポンサーサイト

コメント

コメントの投稿

  • URL
  • コメント
  • パスワード
  • 秘密
  • 管理者にだけ表示を許可する

トラックバック

トラックバックURL:http://sookibizviz.blog81.fc2.com/tb.php/1771-2ea46a51

■  カレンダー

07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

■  プロフィール

sookibizviz

Author:sookibizviz
仕事の内容やソフトの紹介を交えながら、日々の悪戦苦闘を綴っていきます。

■  最新記事

■  最新コメント

■  最新トラックバック

■  月別アーカイブ

■  カテゴリ

未分類 (64)
BizViz (24)
IT (1119)
計量 (76)
環境 (26)
数学 (181)
ニュース (46)
本 (187)
音楽 (113)
囲碁 (5)
将棋 (26)
ブログ (14)
日記 (19)

■  FC2カウンター

■  検索フォーム

■  RSSリンクの表示

■  QRコード

QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。