搜档网
当前位置:搜档网 › 十进制、二进制、八进制、十六进制之间的换算规律资料

十进制、二进制、八进制、十六进制之间的换算规律资料

十进制、二进制、八进制、十六进制之间的换算规律资料
十进制、二进制、八进制、十六进制之间的换算规律资料

◆十进制转二进制:

二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前计算机系统使用的基本上是二进制系统。

用2辗转相除至结果为1

将余数和最后的1从下向上倒序写就是结果

例如302

302/2 = 151 余0

151/2 = 75 余1

75/2 = 37 余1

37/2 = 18 余1

18/2 = 9 余0

9/2 = 4 余1

4/2 = 2 余0

2/2 = 1 余0

故二进制为100101110

◆二进制转十进制

从最后一位开始算,依次列为第0、1、2...位

第n位的数(0或1)乘以2的n次方

得到的结果相加就是答案

例如:01101011.转十进制:

第0位:1乘2的0次方=1

1乘2的1次方=2

0乘2的2次方=0

1乘2的3次方=8

0乘2的4次方=0

1乘2的5次方=32

1乘2的6次方=64

0乘2的7次方=0

然后:1+2+0

+8+0+32+64+0=107.

二进制01101011=十进制107.

好了,现在对二进制和十进制之间的换算有了初步的了解了吧,下面,我们就进一步深入了解二者之间的其他换算规律:

二进制转十进制,十进制转二进制的算法

一、二进制数转换成十进制数

由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权

系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。

二、十进制数转换为二进制数

十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。

1. 十进制整数转换为二进制整数

十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

2.十进制小数转换为二进制小数

十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。

然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

1.二进制与十进制的转换

(1)二进制转十进制

方法:"按权展开求和"

(1011.01)2 =(1×23+0×22+1×21+1×20+0×2-1+1×2-2)10

=(8+0+2+1+0+0.25)10

=(11.25)10

(2)十进制转二进制

·十进制整数转二进制数:"除以2取余,逆序输出"

例:(89)10=(1011001)2

2 89

2 44 (1)

2 22 0

2 11 0

2 5 (1)

2 2 (1)

2 1 0

0 (1)

·十进制小数转二进制数:"乘以2取整,顺序输出"

例:

(0.625)10= (0.101)2

0.625

X 2

X 2

0.5

X 2

1.0

2.八进制与二进制的转换

例:将八进制的37.416转换成二进制数:

37 . 4 1 6

011 111 .100 001 110

即:(37.416)8 =(11111.10000111)2

例:将二进制的10110.0011 转换成八进制:

0 1 0 1 1 0 . 0 0 1 1 0 0

2 6 . 1 4

即:(10110.011)2 =(26.14)8

3.十六进制与二进制的转换

例:将十六进制数5DF.9 转换成二进制:

5 D F . 9

0101 1101 1111.1001

即:(5DF.9)16 =(10111011111.1001)2 例:将二进制数1100001.111 转换成十六进制:0110 0001 . 1110

6 1 . E

即:(1100001.111)2 =(61.E)16

二进制,八进制十进制十六进制之间数据转换

.

十进制转二进制(整数及小数部分):

1、把该十进制数,用二因式分解,取余。

以235为例,转为二进制

235除以2得117,余1

117除以2得58,余1

58除以2得29,余0

29除以2得14,余1

14除以2得7,余0

7除以2得3,余1

3除以2得1,余1

从得到的1开始写起,余数倒排,加在它后面,就可得11101011。

2、把十进制中的小数部份,转为二进制。

把该小数不断乘2,取整,直至没有小数为止,注意不是所有小数都能转为二进制!

以0.75为例,

0.75剩以2得1.50,取整数1

0.50剩以2得1,取整数1,顺序取数就可得0.11。

1、二进制数、八进制数、十六进制数转十进制数

有一个公式:二进制数、八进制数、十六进制数的各位数字分别乖以各自的基数的(N-1)次方,其和相加之和便是相应的十进制数。个位,N=1;十位,N=2...举例:

110B=1*2的2次方+1*2的1次方+0*2的0次方=0+4+2+0=6D

110Q=1*8的2次方+1*8的1次方+0*8的0次方=64+8+0=72D

110H=1*16的2次方+1*16的1次方+0*16的0次方=256+16+0=272D

2、十进制数转二进制数、八进制数、十六进制数

方法是相同的,即整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小数部分拼接成一个数作为转换的最后结果。

例:见四级指导16页。

3、二进制数转换成其它数据类型

3-1二进制转八进制:

从小数点位置开始,整数部分向左,小数部分向右,每三位二进制为一组用一位八进制的数字来表示,不足三位的用0补足,

就是一个相应八进制数的表示。

010110.001100B=26.14Q

八进制转二进制反之则可。

3-2二进制转十进制:

见1

3-3二进制转十六进制:

从小数点位置开始,整数部分向左,小数部分向右,每四位二进制为一组用一位十六进制的数字来表示,

不足四位的用0补足,就是一个相应十六进制数的表示。

00100110.00010100B=26.14H

十进制转各进制

要将十进制转为各进制的方式,只需除以各进制的权值,取得其余数,第一次的余数当个位数,第二次余数当十位数,其余依此类推,直到被除数小于权值,最后的被除数当最高位数。

一、十进制转二进制

如:55转为二进制

2|55

27――1个位

13――1第二位

6――1第三位

3――0第四位

1――1第五位

最后被除数1为第七位,即得110111

二、十进制转八进制

如:5621转为八进制

8|5621

702 ―― 5 第一位(个位)

87 ―― 6 第二位

10 ―― 7 第三位

1 ――

2 第四位

最后得八进制数:12765

三、十进制数十六进制

如:76521转为十六进制

16|76521

4782 ――9第一位(个位)

298 ――14即 E 第二位

18 ――10即 A 第三位

1 ――

2 第四位

最后得12AE9

二进制与十六进制的关系

2进制 0000 0001 0010 0011 0100 0101 0110 0111

16进制 0 1 2 3 4 5 6 7

2进制 1000 1001 1010 1011 1100 1101 1110 1111

16进制 8 9 a(10) b(11) c(12) d(13) e(14) f(15)

可以用四位数的二进制数来代表一个16进制,如3A16 转为二进制为:

3为0011,A 为1010,合并起来为00111010。可以将最左边的0去掉得1110102 右要将二进制转为16进制,只需将二进制的位数由右向左每四位一个单位分隔,将各单位对照出16进制的值即可。

二进制与八进制间的关系

二进制 000 001 010 011 100 101 110 111

八进制 0 1 2 3 4 5 6 7

二进制与八进制的关系类似于二进制与十六进制的关系,以八进制的各数为0到7,以三位二进制数来表示。如要将51028 转为二进制,5为101,1为001,0为000,2为010,将这些数的二进制合并后为1010010000102,即是二进制的值。

若要将二进制转为八进制,将二进制的位数由右向左每三位一个单位分隔,将事单位对照出八进制的值即可。

二进制、八进制、十进制、十六进制之间转换

Posted on 2008-09-12 00:28 SmartStone 阅读(1868) 评论(2) 编辑收藏网摘

一、十进制与二进制之间的转换

(1)十进制转换为二进制,分为整数部分和小数部分

①整数部分

方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。下面举例:

例:将十进制的168转换为二进制

得出结果将十进制的168转换为二进制,(10101000)2

分析:第一步,将168除以2,商84,余数为0。

第二步,将商84除以2,商42余数为0。

第三步,将商42除以2,商21余数为0。

第四步,将商21除以2,商10余数为1。

第五步,将商10除以2,商5余数为0。

第六步,将商5除以2,商2余数为1。

第七步,将商2除以2,商1余数为0。

第八步,将商1除以2,商0余数为1。

第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000

(2)小数部分

方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分

为零为止。如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。换句话说就是0舍1入。读数要从前面的整数读到后面的整数,下面举例:

例1:将0.125换算为二进制

得出结果:将0.125换算为二进制(0.001)2

分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25;

第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5;

第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0;

第四步,读数,从第一位读起,读到最后一位,即为0.001。

例2,将0.45转换为二进制(保留到小数点第四位)

大家从上面步骤可以看出,当第五次做乘法时候,得到的结果是0.4,那么小数部分继续乘以2,得0.8,0.8又乘以2的,到1.6这样一直乘下去,最后不可能得到小数部分为零,因此,这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入。这个也是计算机在转换中会产生误差,但是由于保留位数很多,精度很高,所以可以忽略不计。

那么,我们可以得出结果将0.45转换为二进制约等于0.0111

上面介绍的方法是十进制转换为为二进制的方法,需要大家注意的是:

1)十进制转换为二进制,需要分成整数和小数两个部分分别转换

2)当转换整数时,用的除2取余法,而转换小数时候,用的是乘2取整法

3)注意他们的读数方向

因此,我们从上面的方法,我们可以得出十进制数168.125转换为二进制为10101000.001,或者十进制数转换为二进制数约等于10101000.0111。

(3)二进制转换为十进制不分整数和小数部分

方法:按权相加法,即将二进制每位上的数乘以权,然后相加之和即是十进制数。例

将二进制数101.101转换为十进制数。

得出结果:(101.101)2=(5.625)10

大家在做二进制转换成十进制需要注意的是

1)要知道二进制每位的权值

2)要能求出每位的值

二、二进制与八进制之间的转换

首先,我们需要了解一个数学关系,即23=8,24=16,而八进制和十六进制是用这

关系衍生而来的,即用三位二进制表示一位八进制,用四位二进制表示一位十六进制数。接着,记住4个数字8、4、2、1(23=8、22=4、21=2、20=1)。现在我们来练习二进制与八进制之间的转换。

(1)二进制转换为八进制

方法:取三合一法,即从二进制的小数点为分界点,向左(向右)每三位取成一位,接着将这三位二进制按权相加,得到的数就是一位八位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数。如果向左(向右)取三位后,取到最高(最低)位时候,如果无法凑足三位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足三位。例

①将二进制数101110.101转换为八进制

得到结果:将101110.101转换为八进制为56.5

②将二进制数1101.1转换为八进制

得到结果:将1101.1转换为八进制为15.4

(2)将八进制转换为二进制

方法:取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数,小数点位置照旧。例:

①将八进制数67.54转换为二进制

因此,将八进制数67.54转换为二进制数为110111.101100,即110111.1011

大家从上面这道题可以看出,计算八进制转换为二进制

首先,将八进制按照从左到右,每位展开为三位,小数点位置不变

然后,按每位展开为22,21,20(即4、2、1)三位去做凑数,即a×22+ b×21 +c×20=该位上的数(a=1或者a=0,b=1或者b=0,c=1或者c=0),将abc排列就是该位的二进制数

接着,将每位上转换成二进制数按顺序排列

最后,就得到了八进制转换成二进制的数字。

以上的方法就是二进制与八进制的互换,大家在做题的时候需要注意的是

1)他们之间的互换是以一位与三位转换,这个有别于二进制与十进制转换

2)大家在做添0和去0的时候要注意,是在小数点最左边或者小数点的最右边(即整数的最高位和小数的最低位)才能添0或者去0,否则将产生错误

三、二进制与十六进制的转换

方法:与二进制与八进制转换相似,只不过是一位(十六)与四位(二进制)的转换,下面具体讲解

(1)二进制转换为十六进制

方法:取四合一法,即从二进制的小数点为分界点,向左(向右)每四位取成一位,接着将这四位二进制按权相加,得到的数就是一位十六位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的十六进制数。如果向左(向右)取四位后,取到最高(最低)位时候,如果无法凑足四位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足四位。

①例:将二进制11101001.1011转换为十六进制

得到结果:将二进制11101001.1011转换为十六进制为E9.B

②例:将101011.101转换为十六进制

因此得到结果:将二进制101011.101转换为十六进制为2B.A

(2)将十六进制转换为二进制

方法:取一分四法,即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置照旧。

①将十六进制6E.2转换为二进制数

因此得到结果:将十六进制6E.2转换为二进制为01101110.0010即110110.001

四、八进制与十六进制的转换

方法:一般不能互相直接转换,一般是将八进制(或十六进制)转换为二进制,然后再将二进制转换为十六进制(或八进制),小数点位置不变。那么相应的转换请参照上面二进制与八进制的转换和二进制与十六进制的转

五、八进制与十进制的转换

(1)八进制转换为十进制

方法:按权相加法,即将八进制每位上的数乘以位权,然后相加之和即是十进制数。

例:①将八进制数67.35转换为十进制

(2)十进制转换为八进制

十进制转换成八进制有两种方法:

1)间接法:先将十进制转换成二进制,然后将二进制又转换成八进制

2)直接法:前面我们讲过,八进制是由二进制衍生而来的,因此我们可以采用与十进制转换为二进制相类似的方法,还是整数部分的转换和小数部分的转换,下面来具体讲解一下:①整数部分

方法:除8取余法,即每次将整数部分除以8,余数为该位权上的数,而商继续除以8,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数起,一直到最前面的一个余数。

②小数部分

方法:乘8取整法,即将小数部分乘以8,然后取整数部分,剩下的小数部分继续乘以8,然后取整数部分,剩下的小数部分又乘以8,一直取到小数部分为零为止。如果永远不能为零,就同十进制数的四舍五入一样,暂取个名字叫3舍4入。

例:将十进制数796.703125转换为八进制数

解:先将这个数字分为整数部分796和小数部分0.703125

整数部分

小数部分

因此,得到结果十进制796.703125转换八进制为1434.55

上面的方法大家可以验证一下,你可以先将十进制转换,然后在转换为八进制,这样看得到

的结果是否一样

六、十六进制与十进制的转换

十六进制与八进制有很多相似之处,大家可以参照上面八进制与十进制的转换自己试试这两个进制之间的转换。

通过上面对各种进制之间的转换,我们可以将前面的转换图重新完善一下:

本文介绍了二进制、十进制、八进制、十六进制四种进制之间相互的转换,大家在转换的时候要注意转换的方法,以及步骤,特别是十进制转换为期于三种进制之间,要分为整数部分和小数部分,最后就是小数点的位置。但是要保证考试中不出现错误还是需要大家经常练习,这样才能熟能生巧。

第六章二进制、八进制、十六进制

6.1 为什么需要八进制和十六进制?

6.2 二、八、十六进制数转换到十进制数

6.2.1 二进制数转换为十进制数

6.2.2 八进制数转换为十进制数

6.2.3 八进制数的表达方法

6.2.4 八进制数在转义符中的使用

6.2.5 十六进制数转换成十进制数

6.2.6 十六进制数的表达方法

6.2.7 十六进制数在转义符中的使用

6.3 十进制数转换到二、八、十六进制数

6.3.1 10进制数转换为2进制数

6.3.2 10进制数转换为8、16进制数

十进制数与十六进制数的转换方法

若十进制数23785转为十六进制,则用23785/16=1486余9,1486/16=92余14,92/16=5余12,5/16=0余5,十六进制中,10对应为a、11对应为b、。。。。。。、15对应为f,再将余数倒写为5ce9,则十进制23785=十六进制5ce9 十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方…… 所以,在第N(N从0开始)位上,如果是是数X (X 大于等于0,并且X小于等于15,即:F)表示的大小为X * 16的N次方。 假设有一个十六进数2AF5, 那么如何换算成10进制呢? 用竖式计算:2AF5换算成10进制: 第0位:5 * 16^0 = 5 第1位:F * 16^1 = 240 第2位:A * 16^2 = 2560 第3位:2 * 16^3 = 8192 + ------------------------------------- 10997 直接计算就是: 5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997 二进制的1101转化成十进制 1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13 转化成十进制要从右到左用二进制的每个数去乘以2的相应次方不过次方要从0开始 十进制转二进制:用2辗转相除至结果为1 将余数和最后的1从下向上倒序写就是结果例如302 302/2 = 151 余0 151/2 = 75 余1 75/2 = 37 余1 37/2 = 18 余1 18/2 = 9 余0 9/2 = 4 余1 4/2 = 2 余0 2/2 = 1 余0 1/2 = 0 余1 故二进制为100101110 二进制转八进制 在把二进制数转换为八进制表示形式时,对每三位二进制位进行分组,应该从小数点所在位置分别向左向右划分,若整数部分倍数不是3的倍数,可以在最高位前面补若干个0;对小数部分,当其位数不是的倍数时,在最低位后补若干个0.然后从左到右把每组的八进制码依次写出,即得转换结果. 你算一下就知道了啊比如110=2^2+2+0=6 二进制转十六进制 要将二进制转为16进制,只需将二进制的位数由右向左每四位一个单位分隔,分的不够的前边补零,用四位数的二进制数来代表一个16进制。转换表如下,括号内为十六进制 0000(0)0001 (1)0010 (2)0011 (3)0100 (4)0101 (5)0110 (6)0111 (7)1000 (8)1001 (9)1010(A)1011 (B)

十进制数与十六进制数的转换方法

一,十进制转换十六进制 若十进制数23785转为十六进制,则用 23785/16=1486余9, 1486/16=92余……14, 92/16=5余………….12, 5/16=0余……………..5,十六进制中,10对应为a、11对应为b、。。。。。。、15对应为f,再将余数倒写为5ce9,则十进制23785=十六进制5ce9 二,十六进制转换十进制 十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方…… 所以,在第N(N从0开始)位上,如果是是数X (X 大于等于0,并且X小于等于15,即:F)表示的大小为X * 16的N次方。 假设有一个十六进数2AF5, 那么如何换算成10进制呢? 用竖式计算:2AF5换算成10进制: 第0位:5 * 16^0 = 5 第1位:F * 16^1 = 240 第2位:A * 16^2 = 2560 第3位:2 * 16^3 = 8192 直接计算就是: 5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997 三,二进制的1101转化成十进制 1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13 转化成十进制要从右到左用二进制的每个数去乘以2的相应次方不过次方要从0开始 十进制转二进制:用2辗转相除至结果为1 将余数和最后的1从下向上倒序写就是结果例如302 302/2 = 151 余0 151/2 = 75 余1 75/2 = 37 余1 37/2 = 18 余1 18/2 = 9 余0 9/2 = 4 余1 4/2 = 2 余0 2/2 = 1 余0 1/2 = 0 余1 故二进制为100101110 四,二进制转八进制 在把二进制数转换为八进制表示形式时,对每三位二进制位进行分组,应该从小数点所在位置分别向左向右划分,若整数部分倍数不是3的倍数,可以在最高位前面补若干个0;对小数部分,当其位数不是的倍数时,在最低位后补若干个0.然后从左到右把每组的八进制码依次写出,即得转换结果. 你算一下就知道了啊比如110=2^2+2+0=6 五,二进制转十六进制 要将二进制转为16进制,只需将二进制的位数由右向左每四位一个单位分隔,分的不够的前边补零,用四位数的二进制数来代表一个16进制。转换表如下,括号内为十六进制 0000(0)0001(1)0010(2)0011(3)0100(4)0101(5) 0110(6)0111(7)1000(8)1001(9)1010(A)1011(B) 1100(C)1101(D)1110(E)1111(F) 例如:10101011划分为1010 1011,根据转换表十六进制为AB

二进制与十进制的换算方法

二进制与十进制的换算方法 浏览次数:168726次悬赏分:0 |解决时间:2007-5-12 17:23 |提问者:白兔豆豆 二进制与十进制的换算方法,既要二换十,也要十换二的,要简单点的方法 十六进制的最好也说一下 谢谢 最佳答案 6.1 为什么需要八进制和十六进制? 编程中,我们常用的还是10进制……必竟C/C++是高级语言。 比如: int a = 100,b = 99; 不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决问题。 但,二进制数太长了。比如int 类型占用4个字节,32位。比如100,用int类型的二进制数表达将是: 0000 0000 0000 0000 0110 0100 面对这么长的数进行思考或操作,没有人会喜欢。因此,C,C++ 没有提供在代码直接写二进制数的方法。 用16进制或8进制可以解决这个问题。因为,进制越大,数的表达长度也就越短。不过,为什么偏偏是16或8进制,而不其它的,诸如9或20进制呢?

2、8、16,分别是2的1次方,3次方,4次方。这一点使得三种进制之间可以非常直接地互相转换。8进制或16进制缩短了二进制数,但保持了二进制数的表达特点。在下面的关于进制转换的课程中,你可以发现这一点。 6.2 二、八、十六进制数转换到十进制数 6.2.1 二进制数转换为十进制数 二进制数第0位的权值是2的0次方,第1位的权值是2的1次方…… 所以,设有一个二进制数:0110 0100,转换为10进制为: 下面是竖式: 0110 0100 换算成十进制 第0位0 * 20 = 0 第1位0 * 21 = 0 第2位1 * 22 = 4 第3位0 * 23 = 0 第4位0 * 24 = 0 第5位1 * 25 = 32 第6位1 * 26 = 64 第7位0 * 27 = 0 + --------------------------- 100

高中信息技术基础进制转换二进制十进制十六进制转换转化

2进制数转换为10进制 (110)2转化为十进制 10进制整理转换成2进制 于是,结果是余数的倒排列,即为: (37)10=(a5a4a3a2a1a0)2=(100101)2 16进制转化成2进制、2进制转化成16进制 (二进制和十六进制的互相转换比较重要。不过这二者的转换却不用计算,每个C,C++程序员都能做到看见二进制数,直接就能转换为十六进制数,反之亦然。) 16进制转化成2进制:每一位十六进制数对应二进制的四位,逐位展开。 二进制数转为十六进制:将二进制数转换成十六进制数是将二进数的整数部分从右向左每四位一组,每一组为一位十六进制整数,不足四位时,在前面补0 (FB)16=(1111 ,1011)2 互转

2进制与16进制的关系: 2进制0000 0001 0010 0011 0100 0101 0110 0111 16进制0 1 2 3 4 5 6 7 2进制1000 1001 1010 1011 1100 1101 1110 1111 16进制8 9 A B C D E F 可以用四位数的二进制数来代表一个16进制,如3A16 转为二进制为: 3为0011,A 为1010,合并起来为00111010。可以将最左边的0去掉得1110102 右要将二进制转为16进制,只需将二进制的位数由右向左每四位一个单位分隔,将各单位对照出16进制的值即可。 16进制数转换为10进制数 假设有一个十六进数 2AF5, 那么如何换算成10进制呢? 用竖式计算: 2AF5换算成10进制: 直接计算就是: 5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997 (别忘了,在上面的计算中,A表示10,而F表示15) 假设有人问你,十进数 1234 为什么是一千二百三十四? 你尽可以给他这么一个算式: 1234 = 1 * 10^3 + 2 * 10^2 + 3 * 10^1 + 4 * 10^0 如十进制数2039 它可以表示为:2*10^3+0*10^2+3*10^1+9*10^0

1十六进制数1000转换成十进制数是____

自测题6 一、选择题(每题2分,共60分) 1、十六进制数1000转换成十进制数是:____ (A) 4096 (B) 01024(C) 2048 (D) 8192 2、内存储器可与微处理器____交换信息 (A) 不能(B) 间接(C) 部分(D) 直接 3、3英寸的软盘,写保护窗口上有一个滑块,将滑块推向一侧,使写保护窗口暴露出来,此时:____ (A) 只能写盘,不能读盘(B) 只能读盘,不能写盘(C) 既可读盘,又可写盘(D) 不能读盘,也不能写盘 4、在微型计算机中,下列设备属于输入设备的是:____ (A) 打印机(B) 显示器(C) 软盘(D) 键盘 5、目前使用的防杀病毒软件的作用是:____ (A) 检查计算机是否感染病毒,清除已感染的任何病毒(B) 杜绝病毒对计算机的侵害(C) 检查计算机是否感染病毒,清除部分已感染的病毒(D) 查出已感染的任何病毒,清除部分已感染的病毒 6、鼠标是微机的一种:____ (A) 输出设备(B) 输入设备(C) 存储设备(D) 运算设备 7、在当前盘当前目录下有一个文件,其内容为: CD\ MD\XYZ\AB\B\C CD XYZ\AB\B 如果首先执行上述文件,并且在执行过程中没有错误发生,则接着执行的下列命令中,不会发生错误的是:____ (A) MD C (B) CD AB(C) RD C (D) RD B

8、为向用户提供方便、快捷的操作,可在根目录下设置可执行文件的搜索路径,这时应使用____命令。 (A) CD(CHDIR)(B) MD(MKDIR)(C) TREE (D) PATH 9、汉字国际码(GB2312-80)规定的汉字编码,每个汉字用:____ (A) 一个字节表示(B) 二个字节表示(C) 三个字节表示(D) 四个字节表示 10、查看磁盘卷标的DOS命令是:____ (A) VER (B) DIR (C) VERIFY (D) VOL 11、检查指定驱动器上文件、目录以及文件分配表(FAT),并产生一个报告,同时还显示未使用的内存数量。该DOS命令是:____ (A) CHDIR (B) CHKDSK (C) DISKCOMP(D) ECHO 12、拷贝一张软盘上的内容到另一张软盘上去的DOS命令是:____ (A) XCOPY (B) DISKCOPY(C) COPY (D) BACKUP 13、DOS文件名对字符的选用是有限制的。下列四个字符中,哪个能够作为一个文件的文件名中的第一个字符:____ (A) .(小数点)(B) $ (C) * (D) 14、C语言中,int类型数据占2个字节,则long类型数据占字节数:____ (A) 1(B) 2(C) 4(D) 8 15、若int类型数据占两个字节,则下列语句的输出为:____ (A) -1,-1 (B) -1,32767(C) -1,32768(D) -1,65535 int k=-1; printf("%d,%u\n",k,k); 16、若有定义:char *p1,*p2,*p3,*p4,ch;则不能正确赋值的程序语句为:____ (A) p1=&ch; scanf("%c", p1); (B) p2=(char*)malloc(1); scanf("%c", p2);(C) p3=getchar(); (D) p4=&ch; *p4=getchar(); 17、与以下定义等价的是:____int *p[4];

各种进制之间转换方法

各进制转换方法(转载) 一、计算机中数的表示: 首先,要搞清楚下面3个概念 ?数码:表示数的符号 ?基:数码的个数 ?权:每一位所具有的值 请看例子: 数制十进制二进制八进制十六进制 数码0~9 0~1 0~7 0~15 基10 2 8 16 权10o,101,102,…2o,21,22,…8o,81,82,…16o,161,162,…特点逢十进一逢二进一逢八进一逢十六进一 十进制4956= 4*103+9*102 +5*101+6*10o 二进制1011=1*23+0*22 +1*21+1*2o 八进制4275=4*83+2*82 +7*81+5*8o 十六进制81AE=8*163+1*162 +10*161+14*16o

二、各种进制的转换问题 1.二、八、十六进制转换成十进制 2.十进制转换成二、八、十六进制 3.二进制、八进制的互相转换 4.二进制、十六进制的互相转换 1、二、八、十六进制转换成十进制 方法:数码乘以相应权之和 2、十进制转换成二、八、十六进制 方法:连续除以基,直至商为0,从低到高记录余数

3、二进制、八进制的互相转换 方法: ?二进制转换成八进制:从右向左,每3位一组(不足3位左补0),转换成八进制 ?八进制转换成二进制:用3位二进制数代替每一位八进制数 例(1101001)2=(001,101,001)2=(151)8 例 (246)8=(010,100,110)2=(10100110)2 4、二进制、十六进制的互相转换 方法: ?二进制转换成十六进制:从右向左,每4位一组(不足4位左补0),转换成十六进制 ?十六进制转换成二进制:用4位二进制数代替每一位十六进制数 例(11010101111101)2=(0011,0101,0111,1101)2=(357D)16 例 (4B9E)16=(0100,1011,1001,1110)2=(100101110011110)2 三、各种进制数的运算

二进制、八进制、十进制、十六进制之间的知识

序: 生活中其实很多地方的计数方法都多少有点不同进制的影子。 比如我们最常用的10进制,其实起源于人有10个指头。如果我们的祖先始终没有摆脱手脚不分的境况,我想我们现在一定是在使用20进制。 至于二进制……没有袜子称为0只袜子,有一只袜子称为1只袜子,但若有两袜子,则我们常说的是:1双袜子。 生活中还有:七进制,比如星期。十六进制,比如小时或“一打”,六十进制,比如分钟或角度…… 1.为什么需要八进制和十六进制? 编程中,我们常用的还是10进制……必竟C/C++是高级语言。 比如: int a = 100,b = 99; 不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决问题。 但,二进制数太长了。比如int 类型占用4个字节,32位。比如100,用int类型的二进制数表达将是: 0000 0000 0000 0000 0110 0100 面对这么长的数进行思考或操作,没有人会喜欢。因此,C,C++ 没有提供在代码直接写二进制数的方法。 用16进制或8进制可以解决这个问题。因为,进制越大,数的表达长度也就越短。不过,为什么偏偏是16或8进制,而不其它的,诸如9或20进制呢? 2、8、16,分别是2的1次方,3次方,4次方。这一点使得三种进制之间可以非常直 接地互相转换。8进制或16进制缩短了二进制数,但保持了二进制数的表达特点。在下面的关于进制转换的课程中,你可以发现这一点。 2.二、八、十六进制数转换到十进制数

2.1二进制数转换为十进制数 二进制数第0位的权值是2的0次方,第1位的权值是2的1次方…… 所以,设有一个二进制数:0110 0100,转换为10进制为: 下面是竖式: 0110 0100 换算成十进制 第0位 0 * 20 = 0 第1位 0 * 21 = 0 第2位 1 * 22 = 4 第3位 0 * 23 = 0 第4位 0 * 24 = 0 第5位 1 * 25 = 32 第6位 1 * 26 = 64 第7位 0 * 27 = 0 + --------------------------- 100 用横式计算为: 0 * 20 + 0 * 21 + 1 * 22 + 1 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100 0乘以多少都是0,所以我们也可以直接跳过值为0的位: 1 * 2 2 + 1 * 2 3 + 1 * 25 + 1 * 26 = 100 2.2八进制数转换为十进制数 八进制就是逢8进1。 八进制数采用 0~7这八数来表达一个数。

十六进制数转换成十进制数C语言

十六进制数转换成十进制数C语言 程序代码: #include #include #include /*求字符串长度函数*/ int strlengh(char *s) { int i; for(i=0;s[i]!='\0';i++); return i; } /*16进制转10进制函数*/ double tran(char *s) { int len=strlengh(s);/*求输入的字符串的长度*/ int ss[100] ;/*用于存放对字符的转换如f:15*/ int i; double n=0.0; /*对字符进行处理,将其每一位转换为整数,之后运算进行处理*/ for(i=0;i

进制十进制八进制十六进制转换练习题

进制十进制八进制十六进制转换练习题 TTA standardization office【TTA 5AB- TTAK 08- TTA 2C】

数制及相互转换 进制表示形式R代表任意进制 二进制 B R→十:按权展开求和二→八:三位变一位 八进制O (Q) 十→R:除R取余倒排二→十六:四位变一位 十进制 D 八→二:一位变三位 十六进制H 十六→二:一位变四位 一、单选题 1、下列数据中数值最小的是 A、01110000B B、249D C、125Q D、AAH 2、下列数据中数值最大的是 A、3FH B、64D C、77Q D、111110B 3、下列数据中数值最大的是 A、100H B、100D C、100Q D、100B 4、十进制数24转换成二进制数是 A、11100 B、11010 C、11000 D、10100 5、下列数据中数值最小的是 6、下列数据中数值最大的是 7、下列各数中最大的是 A、 B、D7 H C、214D D、325Q 8、与二进制数100101等值的十进制数是 A、34 B、35 C、36 D、37 9、与十进制数256等值的二进制数是 A、 1000000 B、 C、 D、

10、与十六进制数ACE等值的十进制数是 A、2766 B、 2765 C、2764 D、 2763 11、十六进制数111与八进制数111之和,用八进制数表示为 A、 310 B、 1222 C、 1000 D、 532 12、按某种进制运算2 × 4=12,那么4 × 5为 A、20 B、32 C、24 D、 12 13、若216是某种数制的一个数,它的值与十六进制数8E相等,则该数是()进制数。 A、六 B、八 C、九 D、十 14、下列各数中,属于合法的五进制数的是 A、216 B、 123 C、 354 D、189 15、下列无符号十进制中,能用8位二进制表示的是 A、 257 B、 288 C、 256 D、255 16、无符号二进制数后加上一个0,形成的数是原来的几倍 A、 1 B、 2 C、 1/2 D、4 17、下列数据中数值最大的是 A、(10000)2 B、(17)8 C、(17)10 D、(10)16 18、某学校有1500名学生,若用二进制来编学号,需要多少位来表示。 A、 10 B、 11 C、12 D、13 19、十进制数153转换成二进制数应为 A、 BC、 D、1110110

c语言 十六进制和十进制间的转换

1.将十六进制转换为十进制. #include #include int main(void){ int convert(int,char *); int i,j; char m[20]; printf("请输入你要转换的数:"); scanf("%s",m); i=0; while(*(m+i)!='\0'){ i++; } j=convert(--i,m); printf("转换为十进制是:%d\n",j); return 0; } int convert(int a,char *p){ int i,j,sum; sum=0; for(i=0;i<=a;i++){ if(*(p+i)<='f'&&*(p+i)>='a') j=(int)(*(p+i))-87; else if(*(p+i)<='F'&&*(p+i)>='A') j=(int)(*(p+i))-55; else j=(int)(*(p+i))-48; sum=sum+pow(16,a-i)*j; } return (sum); }

2.将十进制转换为十六进制. #include int main(void) { int i,a[20],m,m_old; char c; i=0; printf("请输入你要转换的数:"); scanf("%d",&m); m_old=m; while(m!=0){ a[i]=m%16; m/=16; i++; } i--; /*for(;i>=0;i--){ printf("%d ",*(a+i)); }*/ printf("%d转换为十六进制是:",m_old); for(;i>=0;i--){ /*switch(a[i]){ case(10):printf("A");break; case(11):printf("B");break; case(12):printf("C");break; case(13):printf("D");break; case(14):printf("E");break; case(15):printf("F");break; default: printf("%d",a[i]);

进制数与十六进制数的转换方法完整版

进制数与十六进制数的 转换方法 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

若十进制数23785转为十六进制,则用23785/16=1486余9,1486/16=92余14, 92/16=5余12, 5/16=0余5,十六进制中,10对应为a、11对应为b、。。。。。。、15对应为f,再将余数倒写为5ce9,则十进制23785=十六进制5ce9 的第0位的为16的,第1位的为16的1次方,第2位的为16的2次方…… 所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。 假设有一个十六进数 2AF5, 那么如何换算成10进制呢? 用: 2AF5换算成10进制: 第0位: 5 * 16^0 = 5 第1位: F * 16^1 = 240 第2位: A * 16^2 = 2560 第3位: 2 * 16^3 = 8192 + ------------------------------------- 10997 直接计算就是: 5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997 二进制的1101转化成十进制 1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13 转化成十进制要从右到左用二进制的每个数去乘以2的相应次方不过次方要从0开始 :用2辗转相除至结果为1 将余数和最后的1从下向上倒序写就是结果例如302 302/2 = 151 余0 151/2 = 75 余1 75/2 = 37 余1 37/2 = 18 余1 18/2 = 9 余0 9/2 = 4 余1 4/2 = 2 余0 2/2 = 1 余0 1/2 = 0 余1 故二进制为 二进制转 在把转换为表示形式时,对每三位二进制位进行分组,应该从小数点所在位置分别向左向右划分,若整数部分倍数不是3的倍数,可以在最高位前面补若干个0;对小数部分,当其位数不是的倍数时,在最后补若干个0.然后从左到右把每组的码依次写出,即得转换结果. 你算一下就知道了啊比如110=1*2^2+1*2^1+0*2^0=6 比如: 1001110分组001 001 110 001=0*2^2+0*2^1+1*2^0=1 001=0*2^2+0*2^1+1*2^0=1 110=1*2^2+1*2^1+0*2^0=6 结果为116 二进制转 要将二进制转为16进制,只需将二进制的位数由右向左每四位一个单位分隔,分的不够的前边补零,用四位数的来代表一个16进制。转换表如下,括号内为

十进制数转换成十六进制

怎么把EXCEL表格里的一列里的十进制数转换成十六进制? DEC2HEX 将十进制数转换为十六进制数。 如果该函数不可用,并返回错误值#NAME?,请安装并加载“分析工具库”加载宏。 操作方法 在“工具”菜单上,单击“加载宏”。 在“可用加载宏”列表中,选中“分析工具库”框,再单击“确定”。 如果必要,请遵循安装程序中的指示。 语法 DEC2HEX(number,places) Number 待转换的十进制数。如果参数number 是负数,则省略places。函数DEC2HEX 返回10 位十六进制数(40 位二进制数),最高位为符号位,其余39 位是数字位。负数用二进制数的补码表示。 Places 所要使用的字符数,如果省略places,函数DEC2HEX 用能表示此数的最少字符来表示。当需要在返回的数值前置零时places 尤其有用。 说明: 如果number < -549、755、813、888 或者number > 549、755、813、887,则函数DEC2HEX 返回错误值#NUM!。 如果参数number 为非数值型,函数DEC2HEX 将返回错误值#VALUE!。 如果函数DEC2HEX 需要比places 指定的更多的位数,将返回错误值#NUM!。 如果places 不是整数,将截尾取整。 如果places 为非数值型,函数DEC2HEX 将返回错误值#VALUE!。 如果places 为负值,函数DEC2HEX 将返回错误值#NUM!。 示例 如果您将示例复制到空白工作表中,可能会更易于理解该示例。 操作方法 创建空白工作簿或工作表。 请在“帮助”主题中选取示例。不要选取行或列标题。 从帮助中选取示例。 按Ctrl+C。 在工作表中,选中单元格A1,再按Ctrl+V。 若要在查看结果和查看返回结果的公式之间切换,请按Ctrl+`(重音符),或在“工具”菜单上,指向“公式审核”,再单击“公式审核模式”。 公式说明(结果) =DEC2HEX(100, 4) 将十进制数100 转换为4 个字符的十六进制数(0064) =DEC2HEX(-54) 将十进制数-54 转换为十六进制数(FFFFFFFFCA)

进制与十进制的计算公式

10进制数转换为2进制数 给你一个十进制,比如:6,如果将它转换成二进制数呢? 10进制数转换成二进制数,这是一个连续除2的过程: 把要转换的数,除以2,得到商和余数, 将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。 听起来有些糊涂?我们结合例子来说明。比如要转换6为二进制数。 “把要转换的数,除以2,得到商和余数”。 那么: 要转换的数是6, 6 ÷ 2,得到商是3,余数是0。(不要告诉我你不会计算6÷3!) “将商继续除以2,直到商为0……” 现在商是3,还不是0,所以继续除以2。 那就: 3 ÷ 2, 得到商是1,余数是1。 “将商继续除以2,直到商为0……” 现在商是1,还不是0,所以继续除以2。 那就: 1 ÷ 2, 得到商是0,余数是1(拿笔纸算一下,1÷2是不是商0余1!) “将商继续除以2,直到商为0……最后将所有余数倒序排列” 好极!现在商已经是0。 我们三次计算依次得到余数分别是:0、1、1,将所有余数倒序排列,那就是:110了!6转换成二进制,结果是110。 把上面的一段改成用表格来表示,则为:

(在计算机中,÷用 / 来表示) 如果是在考试时,我们要画这样表还是有点费时间,所更常见的换算过程是使用下图的连除: (图:1) 请大家对照图,表,及文字说明,并且自已拿笔计算一遍如何将6转换为二进制数。 说了半天,我们的转换结果对吗?二进制数110是6吗?你已经学会如何将二进制数转换成10进制数了,所以请算一下110换成10进制是否就是6。 二进制数转换为十进制数 二进制数第0位的权值是2的0次方,第1位的权值是2的1次方…… 所以,设有一个二进制数:0110 0100,转换为10进制为: 下面是竖式: 0110 0100 换算成十进制 第0位 0 * 20 = 0 第1位 0 * 21 = 0 第2位 1 * 22 = 4 第3位 0 * 23 = 0

进制十进制八进制十六进制转换练习题

数制及相互转换 进制表示形式R代表任意进制 二进制 B R→十:按权展开求和二→八:三位变一位 八进制 O (Q) 十→R:除R取余倒排二→十六:四位变一位 十进制 D 八→二:一位变三位 十六进制 H 十六→二:一位变四位 1、下列数据中数值最小的是 A、01110000B B、249D C、125Q D、AAH 2、下列数据中数值最大的是 A、3FH B、64D C、77Q D、111110B 3、下列数据中数值最大的是 A、100H B、100D C、100Q D、100B 4、十进制数24转换成二进制数是 A、11100 B、11010 C、11000 D、10100 5、下列数据中数值最小的是 6、下列数据中数值最大的是 7、下列各数中最大的是 A、B、D7 H C、214D D、325Q 8、与二进制数100101等值的十进制数是 A、34 B、35 C、36 D、37 9、与十进制数256等值的二进制数是 A、1000000 B、 C、 D、 10、与十六进制数ACE等值的十进制数是 A、2766 B、2765 C、2764 D、2763 11、十六进制数111与八进制数111之和,用八进制数表示为 A、310 B、1222 C、1000 D、532 12、按某种进制运算2 × 4=12,那么4 × 5为 A、20 B、32 C、24 D、12 13、若216是某种数制的一个数,它的值与十六进制数8E相等,则该数是()进制数。 A、六 B、八 C、九 D、十 14、下列各数中,属于合法的五进制数的是 A、216 B、123 C、354 D、189 15、下列无符号十进制中,能用8位二进制表示的是 A、257 B、288 C、256 D、255 16、无符号二进制数后加上一个0,形成的数是原来的几倍?

十六进制转十进制设计

综合实验报告 实验名称:十六进制转十进制设计 学院:机械与汽车工程学院 专业:测控技术与仪器 班级:测控091班 姓名:张兵 学号:3090103124 时间2012.11.26—2012.12.7 指导教师:姚宏志

题目:利用51单片机实现2字节16进制数转换成10进制数实验 一、实验目的: 1、学习了解掌握A T89C51单片机的基本知识以及设计基本的单片机电路。 2、学习利用Altium Designer画PCB电路板并焊接电路。 3、学习利用仿真软件仿真电路。 4、学习掌握LED数码管的基本知识以及keilC51编程的相关知识。 二、实验器材: AT89C51单片机、74LS07芯片(2个)、引脚底座(14引脚2个、40引脚1个)、电容(2个)、排阻、四位一体数码管(1个)、晶振(12MHz)、开关3个、导线若干等。 三、实验说明 实验用到的元器件:51单片机、74LS07驱动器、八段共阴极LED、排阻等。元器件的工作原理及使用方法:首先来说明单片机的工作原理,我们本实验用到为单片机的最小系统,最小系统,一有时钟源,即晶振。二有复位电路。 时钟源提供单片机基准时钟信号,保证各指令的正常运行,复位电路则是用于复位还原。其次来说明74ls07,74ls07是集电极开路六正相高压驱动器,在这次我做的试验中是用它来给八段数码管提供电压进而驱动其工作。数码管此次用到的是八段共阴极的数码管,共a、b、c、e、f、g、dp,通过在P0口赋予不同的电平来控制相应的段位处于不同的状态(高电平点亮、低电平不亮)。 四、实验原理: 1、AT89C51单片机的资料: AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用A TMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。 1.1主要性能参数: ·与MCS-51产品指令系统完全兼容 ·4k字节可重擦写Flash闪速存储器 ·1000次擦写周期 ·全静态操作:0Hz-24MHz ·三级加密程序存储器 ·128×8字节内部RAM ·32个可编程I/O口线 ·2个16位定时/计数器 ·6个中断源 ·可编程串行UART通道 ·低功耗空闲和掉电模式

十进制转化十六进制

要把1610转换成16进制,采用什么方法好?为什么有的是先转换成2进制?具体方法和步骤怎么样? 我来帮他解答 2009-11-9 12:56 满意回答 直接转16进制: 1610/16=100……10(A); 100 /16= 6……4; 6 /16= 0……6; 故:1610(10)=64A(16). 先转2进制: 1610/2=805……0; 805 /2=402……1; 402 /2=201……0; 201 /2=100……1; 100 /2=50 ……0; 50 /2=25 ……0; 25 /2=12 ……1; 12 /2=6 ……0; 6 /2=3 ……0; 3 /2=1 ……1; 1 /2=0 ……1. 1610(10)= 0110 0100 1010(2) 1610(10)= 64A(16) 2进制——16进制转换表; 0--0000 1--0001 2--0010 3--0011 4--0100 5--0101 6--0110 7--0111 8--1000 9--1001 A--1010 B--1011 C--1100 D--1101

E--1110 F—1111 修改中经常接触的是2、10和16进制,基本上需要了解的是2和16互转、10和16互转,其他多了解也没亏2转16:4个2进制位为一个16进制数,2进制1111为16进制F,2进制中千位的1=8,百位的1=4,十位的1=2,个位的1=1,将各个位的数作相应转换再相加,的到的数就是10进制数0-15,可轻松转换成16进制。如01011100,可看成是两组2进制数0101和1100,则这个数就是16进制的5C。10转16:100以内一点的10转16心算比较快,复杂的用“计算器”算了。10转16用传统的计算方式可以了,就是大于15小于256的10进制数除以16为的值为十位的16进制数,其余数为个位的16进制数,没余数则个位为0。如61的16进制是3D,61除以16得3余13,3作十位数,13转成D为各位数。字串1 16转10:用相反的道理,将十位数乘以16加上个位数。如5A,将5乘以16得80,加上A的10进制10,结果是90。字串2 其实这些都是计算机基础,基本上学过计算机的都会学到这些,但留意一下,他们对于修改是十分有用的,平时多多留意,多多试验,你也会成为修改高手。字串4 个人推荐使用:WINDOWS中点击“开始”--”程序“--“附件”--“计算器”,按“查看”再选“科学型”,就可以方便的进行各进制的转换了(如:你要转换10进制90000000为16进制,点“十进制”,输入90000000,再点一下“16进制”,就会看到55D4A80,转换就完成了。其他同理)。字串7 二进制、八进制、十六进制字串3这是一节“前不着村后不着店”的课。不同进制之间的转换纯粹是数学上的计算。不过,你不必担心会有么复杂,无非是乘或除的计算。字串8生活中其实很多地方的计数方法都多少有点不同进制的影子。字串1比如我们最常用的10进制,其实起源于人有10个指头。如果我们的祖先始终没有摆脱手脚不分的境况,我想我们现在一定是在使用20进制。字串1至于二进制……没有袜子称为0只袜子,有一只袜子称为1只袜子,但若有两袜子,则我们常说的是:1双袜子。字串9生活中还有:七进制,比如星期。十六进制,比如小时或“一打”,六十进制,比如分钟或角度…… 字串7 字串3 6.1 为什么需要八进制和十六进制?字串5 编程中,我们常用的还是10进制……必竟C/C++是高级语言。字串2 比如:字串8 int a = 100,b = 99; 字串7不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决问题。字串1但,二进制数太长了。比如int 类型占用4个字节,32位。比如100,用int类型的二进制数表达将是:字串5 0000 0000 0000 0000 0110 0100 字串1 面对这么长的数进行思考或操作,没有人会喜欢。因此,C,C++ 没有提供在代码直接写二进制数的方法。字串4字串8 用16进制或8进制可以解决这个问题。因为,进制越大,数的表达长度也就越短。不过,为什么偏偏是16或8进制,而不其它的,诸如9或20进制呢?字串4 2、8、16,分别是2的1次方,3次方,4次方。这一点使得三种进制之间可以非常直接地互相转换。8进制或16进制缩短了二进制数,但保持了二进制数的表达特点。在下面的关于进制转换的课程中,你可以发现这一点。字串9 字串4 6.2 二、八、十六进制数转换到十进制数6.2.1 二进制数转换为十进制数二进制数第0位的权值是2的0次方,第1位的权值是2的1次方…… 字串2 所以,设有一个二进制数:0110 0100,转换为10进制为:字串5 下面是竖式:字串5字串9 0110 0100 换算成十进制字串3 字串5第0位0 * 20 = 0 字串5第1位0 * 21 = 0 字串7第2位 1 * 22 = 4 字串1第3位0 * 23 = 0 字串7 第4位0 * 24 = 0 字串4第5位1 * 25 = 32 字串1 第6位1 * 26 = 64 字串6第7位0 * 27 = 0 +

(16进制数据转换成10进制)HexToDecimal

package ; import ; public class MainEntry { public static void main(String[] args) { // 初始化16进制数据键值对 HashMap hmI2C = new HashMap(); HashMap hmC2I = new HashMap(); for(int i = 0; i < 10; i++) { hmI2C.put(i, (char) ('0'+i)); hmC2I.put((char) ('0'+i), i); } for(int i = 0; i < 6; i++) { hmI2C.put(10+i, (char) ('A'+i)); hmC2I.put((char) ('A'+i), 10+i); } // 调用功能接口 hexToDecimal("ECABFFFED1234D7897685DC", hmI2C, hmC2I); } /** * 实现功能函数 */ private static void hexToDecimal(String hexString, HashMap hmI2C, HashMap hmC2I) { String result = "0"; // 初始化结果值 for(int i = 0; i < hexString.length()-1 ; i++) { if (i == 0) { result = additional((hmC2I.get(hexString.charAt(i))). toString(),

16进制转换算成10进制程序

STC 单片机中的eeprom写入和读取6位的10进制数需要进行数据类型转换吗?具体是怎样现的呢? 2013-06-04 10:24 满意回答 提问者采纳 2013-06-04 10:27 6位10进制数,转换为16进制,再写入EEPROM. long x; 分4个字节写入 uchar c1; c1= x>>24; //最高字节 c1=x>>16; //次高字节 c1=x>>8; //次低字节 c1=x&0xff; //最低字节 分别写入就可以了。追问我用的是stc12C5A60S2单片机,我将转化轩16进制的数保存在一个数组,然后整个数组写进去,当需要的时候再读出来还原成十进制数可否呢?回答当然可以。追问想了一下,不知应该如何用单片机C语言去实现啊,可以指导下不?提问者评价谢谢哈评论 | ningling_21 知道达人 | 来自团队单片机学习 | 十级采纳率26%擅长:其他编程语言汇编语言 C/C++

16进制转换算成10进制程序 来源:本站整理作者:佚名2009年01月14日 23:33 分享 [导读] 16进制转换算成10进制程序 unsigned char d[10]; //用于显示的10位显示缓存 //====================== 关键词:进制 16进制转换算成10进制程序 unsigned char d[10]; //用于显示的10位显示缓存 //============================================== ========== //16进制to10进制输出子程序:显示数据,起始位,结束位,有无小数点 //============================================== ========== void output(unsigned long dd,unsigned char s,unsigned char e,unsigned char dip) { unsigned long div; unsigned char tm[8],i,j; div=10000000; for (i=0;i<8;i++) { tm[i]=dd/div; dd%=div; div/=10; } for (i=0;i<6;i++) { if (tm[i]!=0) break; tm[i]=nul; } tm[5]|=dip; //小数点控制,请看“串行LED数码管显示驱动程序” j=7; for (i=s;i

相关主题