16進数をソースコード上に直接記述するには、

var code:int = 0xff;

のように0xと付ければよい。

では、8進数はといえば、実はActionScript3 では直接記述する方法はないようです。
ただし、

var num:int = 0766;

のように記述してもこれは、8進数ではなく、10進数の766です。
したがって、8進数を入力したい場合には

var num1:int = parseInt("0766",8);
// もしくは
var num2:int = parseInt("766",8);

のように記述する必要があるというわけです。
頭に”0″をつけるのは好き好きで可能です。

また、16進数でparseIntを使うと

var num1:int = parseInt("1f6",16);
var num2:int = parseInt("0x1f6",16);

で問題ない。

ただし、

var i:int = parseInt("790",8);

のように、8進数ではありえない数字[9]があってもエラーにはならなく、
この結果は「7」となってしまうようです。

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

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

これは、非常に簡単だ。

var num:int = 504;
trace(num.toString(16)); // 16進数 -- 1f8
trace(num.toString(8));  // 8進数 -- 770
trace(num.toString(2));  // 2進数 -- 111111000

となる。

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

関連記事

Leave a Reply

Spam protection by WP Captcha-Free

RSS
Add to Google

カスタム検索
ソフトウェア&ライブラリ


ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
カレンダー
2009年8月
« 7月   9月 »
 12
3456789
10111213141516
17181920212223
24252627282930
31  
アーカイブ
にほんブログ村 IT技術ブログへ