HEX2BIN函数用于将十六进制数转换为二进制数,HEX2DEC函数用于将十六进制数转换为十进制数,HEX2OCT函数用于将十六进制数转换为八进制数。HEX2BIN、HEX2DEC、HEX2OCT函数的表达式如下:
HEX2BIN(number,places) HEX2DEC(number) HEX2OCT(number,places)
其中参数number为待转换的十六进制数。参数的位数不能多于10位,最高位为符号位(从右算起第40个二进制位),其余39位是数字位。负数用二进制数的补码表示。Places为所要使用的字符数。如果省略places,函数HEX2BIN和HEX2OCT用能表示此数的最少字符来表示。当需要在返回的数值前置零时,places尤其有用。
典型案例
某次数学实验需要进行十六进制与其他各进制之间的数值转换。本例的原始数据如图18-7所示。
图18-7 原始数据
步骤1:在单元格B3中输入公式“=HEX2BIN(A3)”,用于将A3中的十六进制数转换为二进制数。
步骤2:在单元格C3中输入公式“=HEX2DEC(A3)”,用于将A3中的十六进制数转换为十进制数。
步骤3:在单元格D3中输入公式“=HEX2OCT(A)”,用于将A3中的十六进制数转换为八进制数。结果如图18-8所示。
步骤4:选中“B3:D3”单元格区域,然后拖动D3单元格右下角的填充句柄,直到D12单元格,将“B3:D3”单元格区域的公式复制到“B4:D12”单元格区域中,结果如图18-9所示。
图18-8 计算结果
图18-9 最终计算结果
使用指南
如果参数number为负数,则函数HEX2BIN和HEX2OCT将忽略places,返回10位二进制数。对于函数HEX2BIN,如果参数number为负数,不能小于FFFFFFFE00;如果参数number为正数,不能大于1FF。对于函数HEX2OCT,如果参数number为负数,不能小FFE0000000;如果参数number为正数,不能大于1FFFFFFF。如果参数number不是合法的十六进制数,则函数HEX2BIN、HEX2DEC、HEX2OCT返回错误值“#NUM!”。
如果HEX2BIN、HEX2OCT需要比places指定的更多的位数,将返回错误值“#NUM!”。如果places不是整数,将截尾取整。如果places为非数值型,函数HEX2BIN、HEX2OCT返回错误值“#VALUE!”。如果places为负值,函数HEX2BIN、HEX2OCT返回错误值“#NUM!”。