或阿呆のブログ

巷では、武器商人@ダーツで通っています。Python好き好きプログラマーです。芥川龍之介、太宰治が好きです。

Convert.ToInt32を使う。いい加減、16進数⇒10進数変換を暗算でやるなんていうことはシステムに任せませんか。

0xFFFFは10進数で何よ?暗算出来るひとは、慣れているんだろうね。俺も多少は慣れてはいるけど、だいたいでしか覚えてない。どうせ、システムが理解するわけだから、自分の頭の中の曖昧な記憶をもとにコーディングなんてことはやらん。これが、大きな数になれば尚更のこと。変換のライブラリが用意されていなければ、自分で作るしかないわけだけど、これ系のUtilメソッドは作るのも面倒。

パワフルな言語なら、これ系のライブラリも充実している。C#でもそうだ。

で、0xFFFFの答えは、教えない。俺が答えたって仕方がないし。以下のコードを動かしてみることをお勧めする。

    int FFFF     = Convert.ToInt32("FFFF",16);
    int FFFFFFFF = Convert.ToInt32("FFFFFF", 16);
    int bit1111  = Convert.ToInt32("1111", 2);


答えは教えないけど、デバッグして、変数の値をコピペした結果はこうだ。

   		FFFF	65535	int
		FFFFFFFF	16777215	int
		bit1111	15	int

ずれずれですみません。あと、変数名がおかしくてすみません。変数名にも可読性が高いものをと思って、そのまま16進数のアルファベッドを割り当てて見たというわけです。