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