【注:手动计算需要按F9】

208 oct2dec

语法:oct2dec(number)

注意:

1)number不能多于10位,相当于二进制的30位,最高的二进制位为符号位(0表示正,1表示负),其余29位为数字位,负数用二进制的补码表示。

excel函数中十进制如何转换二进制(每天学一点Excel2010100)(1)

八进制转十进制

2)选择C11单元格输入公式“=oct2dec(B11)”,向下填充公式,按F9重新计算。

excel函数中十进制如何转换二进制(每天学一点Excel2010100)(2)

正数的最大值

3)现在我们找八进制的极值,选中A19:C19区域,用右下角的填充柄向下填充。在B20单元格输入3777777777,按F9,显示536870911;在B21单元格输入4000000000,按F9,显示-5.37E 08,变成负值了。

excel函数中十进制如何转换二进制(每天学一点Excel2010100)(3)

4)右击C列标签,选择“设置单元格格式”,选择“数值”,“小数位数”变成0,选择一个负值是红色的样式,然后确定。调整C列宽度讲数值全部显示。因为8进制数的4~7对应的二进制数的最高位是1,表示负数。

excel函数中十进制如何转换二进制(每天学一点Excel2010100)(4)

最小负数

5)最小的负数其实就是这个数值-536870912,对应的二进制数是1后面29个0,这个数和最大正数相加,结果为7777777777,十进制的-1,非常正确,因为这个数再减去1的话,符号位就会变成0成正数了。我们加个1输入4000000001看看,这个数和最大正数相加,溢出了,结果为0,非常正确。

209 oct2hex

语法:oct2hex(number,[places])

注意:

1)number不能多于10位,相当于二进制的30位,最高的二进制位为符号位(0表示正,1表示负),其余29位为数字位,负数用二进制的补码表示。

excel函数中十进制如何转换二进制(每天学一点Excel2010100)(5)

8进制转16进制

2)我们回到D11单元格输入“=oct2hex(B11,10)”,将公式继续向下填充,按F9重新计算。

210 dec2bin

语法:dec2bin(number,[places])

注意:

excel函数中十进制如何转换二进制(每天学一点Excel2010100)(6)

十进制转二进制

1)现在把由8进制转换的十进制数复制一份,将数值选择性粘贴到C列下面,背景设成黄色。在A23单元格输入公式“=dec2bin(C23,10)”,向下填充,按F9重新计算。

2)可转换number参数范围是十进制数-512~511。

211 dec2oct

语法:dec2oct(number,[places])

注意:

excel函数中十进制如何转换二进制(每天学一点Excel2010100)(7)

十进制转八进制

1)在B23单元格输入公式“=dec2oct(C23,10)”,将公式向下填充,按F9重新计算,全部转换过来。

2)可转换number参数范围是十进制数-536870912~536870911。

212 dec2hex

语法:dec2hex(number,[places])

注意:

1)同理,函数的结果不能多于10位,相当于二进制的40位,最高的二进制位为符号位(0表示正,1表示负),其余39位为数字位,负数用二进制的补码表示。

2)这次number参数的范围就不能直接知道了,只能写出对应的16进制数字。最大值为7FFFFFFFFF,最小值为8000000000。

excel函数中十进制如何转换二进制(每天学一点Excel2010100)(8)

十进制转十六进制

3)在D23单元格输入公式“=dec2hex(C23,10)”,向下填充,按F9重新计算。

excel函数中十进制如何转换二进制(每天学一点Excel2010100)(9)

4)选择A34:D34,用右下角的填充柄再向下填充两行。在C34单元格输入最大正数549755813887,C3单元格输入最小负数-549755813888后按F9重新计算。

(待续)

,