マクロミルへ登録

2010年01月26日

【私的メモ】エクセルでbitシフト演算


前提
エクセルの異なるセルに記入されている二つの16進数(A1,A2)がある

目的
片方(A1)をn桁bitシフトさせてもう一方(A2)に足して、m桁の16進数で出力する。
補足
A1,A2は16進数表記として最後尾に"h"がついていて
エクセルとしては文字列として認識されている

方法
数式
DEC2HEX((HEX2DEC(LEFT(A1,LEN(A2)-1))*2^n)+HEX2DEC(LEFT(A2,LEN(A2)-1)),m)
解説
値を10進数に変換して通常の計算をしてから16進数に変換する
bitシフトは2の乗数をかけることで実現させる
出力桁数の固定はDEC2HEXのオプションで指定できる(数式のm)
出力時に、&、と、""を使えば出力形式も指定できる(〜hの場合はDEC2HEX(〜,m)&"h")

DEC2HEXなどの関数は[ツール]→[アドイン]で、分析ツールをチェック。で使えるようになる
【関連する記事】
posted by SOSA at 17:59| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/139426604

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。