関数(サイト内)検索

Loading

2010/07/31

#316 Decimal変換系関数


書式

BIN2DEC(数値)
OCT2DEC(数値)
HEX2DEC(数値)

概要

2 進数 ( BIN : BINary )、8 進数 ( OCT : OCTal )、16 進数 ( HEX : HEXa-decimal ) を、10 進数 ( DEC : DECimal ) に変換する関数。

引数

数値必須。変換対象を 10 文字以内で指定。

文字数制限を設けるのは、2 の補数を使って負の数を表現するための対応。
従って、最左ビットは符号を表し、それぞれ 10 / 30 / 40 ビットで数値の大きさを表す。

セル参照による指定は可能。

補足/解説
1. 制限の 10 文字を超えたり、2 進数に 2,3,4... を利用したりした場合、エラー値 #NUM! が返る。
2. HEX変換の場合、数値をダブルクォーテーション(")で囲った方が確実。
例えば、10進数の "161" に変換するつもりで「=HEX2DEC(A1)」と記載した場合、関数はセル参照を指定されたものとして動作する。

※ 上記の例で、A1 セルに入力されている値によって、必ずしもエラーとならない点には注意が必要。 長めの文章でも入力されている分には、エラー値 #NUM! が返るが、空白セルであれば、0 と見なされるし、数値が制限範囲内に収まっていれば、正しく変換されてしまう。

特記事項
Excel 2003 以前のバージョンで使用するには「分析ツール」アドインが必要です。

使用例
参考:Excel2010 関数リファレンス BIN2DEC/OCT2DEC/HEX2DEC 
参考
Decimal変換以外の関数を利用する場合、負の数を表現するために最左ビットを符号として利用するため、文字数の制限が必要となる(制限しないと「最左ビット」が特定できず、結果負の数が表現できなくなるため)。
現時点(2010/07)で、この制限は、それぞれ 10 文字とされており、ALL BIT OFF (0) ~ ALL BIT ON (-1) を表現した場合、下表の通りとなる。

(画像Clickで拡大)  
それぞれ正の数であれば、2 の「表示可能最大ビット数」乗までの変換が可能である。


I.M.L.,ltd

0 件のコメント:

コメントを投稿