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