プロプログラマ -Flex,Air,C#,Oracle,PHP-

プログラマーを職業としてます。 Flex,Air,C#,Oracle,PHPの言語ノウハウを中心に情報発信していきます

16進数の1桁目を取得する

16進数を扱うなんて、制御系システムとか開発されている人なら常識レベルなんですが、
業務系システムばかりを開発していると、
16進数やバイト値を見たり操る機会がなくって、たまに必要になったとき困ります。

すごくくだらないんですが、16進数で2桁ある場合の1桁目のみを抜き出す方法です。

例えば、0xC2という16進数の値があって、ここから2を抜き出したいと。

業務系ばかりやってると、この場合、
0xC2を文字列表現(“C2”)に変換して、末尾1文字をsubstringで切り出して数値に変換して。。。
のように回りくどいことを考えますが、
0xC2と0x0FをAND演算すれば、0x02が取得できます。

2進数で見るとわかりやすいのですが、
1100 0010 と、
0000 1111 をANDするので、
0000 0010 になります。(両方1の場合のみ1)

昔々勉強したことで情報処理の基本ですが、イメージできない。。
皆さんもたまには基礎に立ち戻ってみるとよいと思います。

 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です