hexToBin関数

本ページには広告が含まれています。

16進数を2進数に変換します。2進数を16進数に変換するにはbinToHex関数 (自作関数)を使います。

構文
  1. UString = hexToBin( hex )
引数
hex 必須
16進数
戻り値
2進数に変換した値

プログラム

UWSC
//////////////////////////////////////////////////
// 【引数】
//   hex : 16進数 
// 【戻り値】
//   2進数に変換した値 
//////////////////////////////////////////////////
FUNCTION hexToBin(hex)
	HASHTBL hb
	hb["0"] = "0000";	hb["1"] = "0001";	hb["2"] = "0010";	hb["3"] = "0011";
	hb["4"] = "0100";	hb["5"] = "0101";	hb["6"] = "0110";	hb["7"] = "0111";
	hb["8"] = "1000";	hb["9"] = "1001";	hb["A"] = "1010";	hb["B"] = "1011";
	hb["C"] = "1100";	hb["D"] = "1101";	hb["E"] = "1110";	hb["F"] = "1111";
	DIM bin = ""
	IFB POS(".", hex) <> 0 THEN
		FOR i = 1 TO LENGTH(hex)
			DIM str = COPY(hex, i, 1)
			IF str = "." THEN bin = bin + "."
			bin = bin + hb[str]
		NEXT
	ELSE
		FOR i = 1 TO LENGTH(hex)
			bin = bin + hb[COPY(hex, i, 1)]
		NEXT
	ENDIF
	RESULT = bin
FEND

使い方

UWSC
DIM array[] = "F", "FF", "CCBA", "73.AD", "FF.184", "A1E.1", "F77.42", "CD21.74"

FOR item IN array
	PRINT item + "," + hexToBin(item)
NEXT
結果
CSV
F,   1111
FF,   11111111
CCBA,   1100110010111010
73.AD,   01110011.10101101
FF.184,   11111111.000110000100
A1E.1,   101000011110.0001
F77.42,   111101110111.01000010
CD21.74,   1100110100100001.01110100

関連記事

binToHex関数 (自作関数)
2進数を16進数に変換します。負数・小数の値にも対応しています。
decToHex関数 (自作関数)
10進数を16進数に変換します。負数・小数の値にも対応しています。
binToDec関数 (自作関数)
2進数を10進数に変換します。負数・小数の値にも対応しています。
decToBin関数 (自作関数)
10進数を2進数に変換します。負数・小数の値にも対応しています。
hexToDec関数 (自作関数)
16進数を10進数に変換します。負数・小数の値にも対応しています。
radToDeg関数 (自作関数)
弧度法(Radian)を度数法(Degree)に変換します。度数法を弧度法に変換するにはDegToRad関数を使います。
degToRad関数 (自作関数)
度数法から弧度法に変換します。
16進数
ARABIC関数 (自作関数)
ローマ数字アラビア数字に変換します。
ROMAN関数 (自作関数)
アラビア数字ローマ数字に変換します。