Archive for 2009/8/18

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]
となる。

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

散々今まで作ってきたAIRでのZIP解凍&圧縮ライブラリですが、
ソースとドキュメントを公開しました。

こちらからどうぞ

ライセンスはLGPLとなっています。

これでZIP関連はまあ、ひと段落ついたので今度はメール関連を作っていきます。

ソフトウェア&ライブラリ



ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
カレンダー
2009年8月
« 7月   9月 »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

カスタム検索
RSS
Add to Google
にほんブログ村 IT技術ブログへ