Contents
16進数を2進数に変換します。2進数を16進数に変換するにはbinToHex (自作関数)を使います。
- 構文
- UString = hexToBin( hex )
- 引数
- hex 必須
- 16進数
- 戻り値
- 2進数に変換した値
プログラム
//////////////////////////////////////////////////
// 【引数】
// 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
使い方
DIM array[] = "F", "FF", "CCBA", "73.AD", "FF.184", "A1E.1", "F77.42", "CD21.74"
FOR item IN array
PRINT item + "," + hexToBin(item)
NEXT
- 結果
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 (自作関数)
- アラビア数字 を ローマ数字 に変換します。