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