16進数をソースコード上に直接記述するには、
[AS]
var code:int = 0xff;
[/AS]
のように0xと付ければよい。

では、8進数はといえば、実はActionScript3 では直接記述する方法はないようです。
ただし、
[AS]
var num:int = 0766;
[/AS]
のように記述してもこれは、8進数ではなく、10進数の766です。
したがって、8進数を入力したい場合には

[AS]
var num1:int = parseInt(“0766”,8);
// もしくは
var num2:int = parseInt(“766”,8);
[/AS]
のように記述する必要があるというわけです。
頭に”0″をつけるのは好き好きで可能です。

また、16進数でparseIntを使うと
[AS]
var num1:int = parseInt(“1f6”,16);
var num2:int = parseInt(“0x1f6”,16);
[/AS]
で問題ない。

ただし、
[AS]
var i:int = parseInt(“790”,8);
[/AS]
のように、8進数ではありえない数字[9]があってもエラーにはならなく、
この結果は「7」となってしまうようです。

同様に、n進数はparseInt(number,n)の基数nを変えればいいということです。

では、次に与えられた数字を16進数や、8進数ではどのようになるのだろうか?ということを求めるにはどうしたらいいだろうか?

これは、非常に簡単だ。
[AS]
var num:int = 504;
trace(num.toString(16)); // 16進数 — 1f8
trace(num.toString(8)); // 8進数 — 770
trace(num.toString(2)); // 2進数 — 111111000
[/AS]
となる。

このような関数は知らなくても、簡単に作れてしまうために調べる手間より作ってしまえと思ってしまうことがあるが、
やっぱり他の人が見ることがあることを考えると標準を使うほうがよいだろう。

お仕事のご依頼・相談を承ります
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら

Leave a Reply

お仕事のご依頼・相談
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら
ソフトウェア&ライブラリ




ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
執筆書籍
本、雑誌等

WEB記事:CodeZine
執筆記事はこちら
カレンダー
2009年8月
« 7月   9月 »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

カスタム検索
RSS
Add to Google < !–adsense–>
アーカイブ
カテゴリ
にほんブログ村 IT技術ブログへ