使用excel 如何将16进制数转换为2进制数 excel中十六进制数转换成二进制以及二进制的移位运算实现。

作者&投稿:运刻 (若有异议请与网页底部的电邮联系)
用hex2bin()函数,用法:HEX2BIN(number,places)

Number 待转换的十六进制数。参数的位数不能多于 10 位,最高位为符号位(从右算起第 40 个二进制位),其余 39 位是数字位。负数用二进制数的补码表示。

Places 所要使用的字符数。如果省略 places,函数 HEX2BIN 用能表示此数的最少字符来表示。当需要在返回的数值前置零时,places 尤其有用。

其他进制转换见下面。你仔细看看,是有规律的,很好记的。

BIN2DEC 将二进制数转换为十进制数

BIN2HEX 将二进制数转换为十六进制数

BIN2OCT 将二进制数转换为八进制数

DEC2BIN 将十进制数转换为二进制数

DEC2HEX 将十进制数转换为十六进制数

DEC2OCT 将十进制数转换为八进制数

HEX2BIN 将十六进制数转换为二进制数

HEX2DEC 将十六进制数转换为十进制数

HEX2OCT 将十六进制数转换为八进制数

excel里面本来就有这种函数的:
HEX2BIN(number,places)

函数用不了,那就这样吧:
AB列中输入
48 0000
49 0001
50 0010
51 0011
52 0100
53 0101
54 0110
55 0111
56 1000
57 1001
65 1010
66 1011
67 1100
68 1101
69 1110
70 1111

你的十六进制数在C列,D1输入公式:
=VALUE(TEXT(VLOOKUP(CODE(MID(C1,1,1)),A$1:B$16,2),"0000")&TEXT(VLOOKUP(CODE(MID(C1,2,1)),A$1:B$16,2,FALSE),"0000"))
并将单元格数字格式设置为“0000 0000”,然后往下复制公式。

结果为:
AC 1010 1100
92 1001 0010
C7 1100 0111
FB 1111 1011
84 1000 0100
EB 1110 1011
EF 1110 1111
DB 1101 1011
F7 1111 0111
23 0010 0011
12 0001 0010

函数和宏都不能用,我还真想不到好的自动方法了。
要么就人工来算,16进制换算成2进制很简单的,1位十六进制相当于4位二进制

十六进制 二进制
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111
只要根据16进制数找到对应二进制数位排列就好,如你的结果就是
AC 10101100
92 10010010
C7 11000111
FB 11111011
84 10000100
EB 11101011
EF 11101111
DB 11011011
F7 11110111

建议下,最好装个完整点的excel,excel函数和宏功能很强大,值得你去学习

补充:把AB两列改成Text格式

先制作一个影射表如下(假设放入A1:B16,格式全部用TEXT):
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111

假设D列是存放十六进制的地方

转换公式写在E列,E1 写入下面的公式然后往下拖拉
=VLOOKUP(MID(D1,1,1),A$1:B$16,2,FALSE)&VLOOKUP(MID(D1,2,1),A$1:B$16,2,FALSE)

如果你的十六进制有3个字符,则要在E1写入:
=VLOOKUP(MID(D1,1,1),A$1:B$16,2,FALSE)&VLOOKUP(MID(D1,2,1),A$1:B$16,2,FALSE)&VLOOKUP(MID(D1,3,1),A$1:B$16,2,FALSE)

如何将二进制数转换为十进制数?~


excel中十六进制数转换成二进制,使用HEX2BIN函数即可,2进制左移运算则将结果乘2的N次方,右移则除,其中N是移动位数。
方法步骤如下:
1、打开需要操作的EXCEL表格,在空白单元格输入公式=HEX2BIN(A2)。
【其中A2是十六进制所在单元格,根据实际可做修改】

2、回车完成公式编辑输入,然后下拉填充下方单元格公式即可。

3、返回EXCEL表格,发现成功将十六进制数转为2进制数。