Excel公式和函数  进制转换
数制是人们利用符号进行计数的科学方法。数制有很多种,在计算机中常用的数制有二进制、八进制、十进制和十六进制。本节主要学习4种进制之间的相互转换方法。在介绍其转换方法之前,首先来了解一下各进制的特点:
二进制
二进制是计算技术中广泛采用的一种数制。二进制数是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。
例如,将二进制数111.01写成加权系数的形式如下所示:
(111.01)2=1×22+l×21+1×20+1×2-2
八进制
由于二进制数据的基R较小,所以二进制数据的书写和阅读不方便,为此,在小型机中引入了八进制。八进制的基R=8,其数码为0、1、2、3、4、5、6、7,并且每个数码正好对
应三位二进制数,所以八进制能很好地反映二进制。
例如,二进制数据(11101010.0101101)2对应八进制数据(352.264)8
十进制
人们通常使用的是十进制。它有0,1,2….9十个基本数字组成,且十进制数运算是按“逢十进一”的规则进行的。
十六进制
由于二进制数在使用中位数太长,不容易记忆,所以又提出了十六进制数。十六进制数由十六个字符0~9以及A,B,C,D,E,F组成(它们分别表示十进制数0~15)。
另外,十六进制数运算规律是逢十六进一,即基R=16=2^4,通常在表示时用尾部标志H或下标16以示区别。例如,十六进制数4AC8可写成(4AC8)16,或写成4AC8H。
Excel为二进制与其他进制相互转换提供了12个函数,分别可以实现二进制转与八进制、十进制和十六进制之间的相互转换。下面具体介绍这些进制之间的相互转换的函数。
1.BIN2DEC函数
该函数是将二进制数转换为十进制数,其语法为:BIN2DEC(number)。
其中,参数Number表示待转换的二进制数。参数Number的位数不能多于10位(二进制位),最高位为符号位,后9位为数字位。负数用二进制数的补码表示。
提  示
如果数字为非法二进制数或位数多于10位(二进制位),BIN2DEC函数返回错误值#NUM!。
例如,在医学上,人们通常使用二进制代码来描述人体的基因。为了便于普通人的了解,在不同场合又需要将二进制表示的基因代码转换为其他进制下的数值。现已知某人的某段基因代码二进制表示为11010001,试将其转换成十进制。
由前面介绍的知识,用户可以将二进制手工计算为加权系数的形式,其步骤如下:
(11010001)2=1×27+1×26+1×24+1×20=209
下面在工作表中,创建电子表格模型,并对其运用BIN2DEC函数进行计算,其方法为如下。
选择B3单元格,并选择【公式】选项卡,单击【函数库】组中的【插入函数】按钮。在弹出的【插入函数】对话框的【或选择类别】下拉列表中,选择【工程】项,并在【选择函数】列表中,选择BIN2DEC项,如图15-2所示。
 
图15-2  选择BIN2DEC函数          图15-3  二进制转换成十进制
然后,在【函数参数】对话框中,设置参数Number为A3,即可在B3单元格中,显示出转换的十进制数值,效果如图15-3所示。进制数转换公式
技  巧
单击【函数库】组中的【其他函数】下拉按钮,在【工程】级联菜单中,选择BIN2DEC项,也可弹出如图15-3所示的【函数参数】对话框。
2.BIN2HEX函数
该函数将二进制数转换为十六进制数,其语法为:BIN2HEX(number,places)。
在该函数中,主要包含两个以下两个参数,其功能如下:
Number  待转换的二进制数。参数Number的位数不能多于10位(二进制位),最高位为符号位,后9位为数字位。负数用二进制数的补码表示。
Places  所要使用的字符数。如果省略参数places,则BIN2HEX函数用能表示此数的最少字符来表示。当需要在返回的数值前置零时,places尤其有用。
例如,在“人体基因码的转换”实例中,已知某人的某段基因代码二进制表示为11010001,将该段基因代码用十六进制的方式表示出来,下面进行介绍其方法。
选择B3单元格,选择BIN2HEX函数,在弹出的【函数参数】对话框中,设置参数Number为A3,Places为4,即可在工作表中,显示出等价的十六进制数,如图15-4所示。
图15-4  二进制转换成十六进制
提  示
在【函数参数】对话框中,设置参数Places为4,则计算结果显示为00D1(由4个字符组成);若不设置该参数,则将返回表示此数的最少的字符D1;若设置的参数小于最小的字符数,则返回错误值#NUM!。
在函数的运用过程中,需注意以下几点内容:
如果数字为非法二进制数或位数多于10位,则BIN2HEX函数返回错误值#NUM!。
如果数字为负数,BIN2HEX函数忽略places,返回以十个字符表示的十六进制数。
如果BIN2HEX函数需要比places指定的更多的位数,将返回错误值#NUM!。
如果参数places不是整数,将截尾取整。
如果参数places为非数值型,则BIN2HEX函数返回错误值#VALUE!。
如果参数places为负值,则BIN2HEX函数返回错误值#NUM!。
3.BIN2OCT函数
该函数将二进制数转换为八进制数,其语法为:BIN2OCT(number,places)。其中,该函数中的参数功能与BIN2HEX函数中的参数功能相同。
例如,在“人体基因码的转换”实例中,已知某人的某段基因代码二进制表示为11010001,将该段基因代码用八进制的方式表示出来,下面进行介绍其方法。
选择B3单元格,选择BIN2OCT函数,在【函数参数】对话框中,设置参数Number为A3,Places为5,则返回八进制数00321,如图15-5所示。
图15-5  二进制转换成八进制
提  示
在【函数参数】对话框中,若省略参数Places的设置,则返回能表示此数的最小字符321表示,若设置的参数大于3,则在数字321前面用零补齐;若设置的小于数字3,则则返回错误值#NUM!
4.DEC2BIN函数
该函数将十进制数转换为二进制数,其语法为:DEC2BIN(number,places)。在该函数中,包含两个参数,其功能如下:
Number
待转换的十进制整数。如果参数number是负数,则省略有效位值并且DEC2BIN函数返回10位二进制数,该数最高位为符号位,其余9位是数字位。负数用二进制数的补码表示。
Places
所要使用的字符数。如果省略参数places, DEC2BIN函数用能表示此数的最少字符来表示。当需要在返回的数值前置零时,参数places尤其有用。
例如,已知某计算机的IP地址为192.9.200.13,由于计算机只能识别二进制数,故将其转换成二进数。下面运用DEC2BIN函数进行介绍。
由于在计算机中,无法将IP地址192.9.200.13一次性计算完毕,故将其分为4段,分别用十进制表示。然后,在【函数库】组中,单击【其他函数】下拉按钮,在【工程】下拉列表中,选择DEC2BIN项,如图15-6所示。
  图15-6  选择DEC2BIN函数          图15-7  十进制转换成二进制
然后,在【函数参数】对话框中,设置参数Number为B4;Places为8,即可在C4单元格中,计算出二进制数,如图15-7所示。
提  示
在上面的【函数参数】对话框中,可以省略参数Places的设置,则在其下的复制公式的结果中,将用可以表示该数的最少的字符数来表示,如十进制数字9只需使用4个二进制1001表示。为了使其结果统一表示为8位二进制数,可以设置参数Places为8
将鼠标置于C4单元格的填充柄上,向下拖动至C7单元格,即可复制公式。然后在B8单元格中,输入等价二进制IP地址为11000000 00001001 11001000 0000101,该二进制即为IP地址192.9.200.13的表示结果,如图15-8所示。
图15-8  计算等价二进制IP地址
在DEC2BIN参数的计算过程中,需注意以下几点:
如果参数number <-512或number>511,函数DEC2BIN返回错误值#NUM!。
如果参数number为非数值型,DEC2BIN函数返回错误值#VALUE!。
如果DEC2BIN函数需要比places指定的更多的位数,将返回错误值#NUM!。
如果参数places不是整数,将截尾取整。
如果参数places为非数值型,DEC2BIN函数返回错误值#VALUE!。
如果参数places为零或负值,DEC2BIN函数返回错误值#NUM!。
另外,Excel还为用户提供了十进制转换为八进制和十六进制的函数,其功能如下表15-2所示:
表15-2  十进制转换成八进制和十六进制
函数名称
语法
功能
DEC2HEX
DEC2HEX(number,places)
将十进制数转换为十六进制数。
DEC2OCT
DEC2OCT(number,places)
将十进制数转换为八进制数。
5.HEX2BIN函数
该函数将十六进制数转换为二进制数,其语法为:HEX2BIN(number,places)。其中,在HEX2BIN函数中,主要包含以下两个参数,其功能如下。
Number  待转换的十六进制数。参数的位数不能多于10位,最高位为符号位(从右算起第40个二进制位),其余39位是数字位。负数用二进制数的补码表示。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。