文档库 最新最全的文档下载
当前位置:文档库 › 计算机中常用的进制

计算机中常用的进制

计算机中常用的进制
计算机中常用的进制

计算机中常用的进制

进制名称说明

十进制1)基数: 10

2)数码: 0、1、2、3、4、5、6、7、8、9

3)各数位的位权:是以10为底的幂次方

4)进位方法:逢十进一,借一当十

例如:(3269.71)10

二进制1) 基数: 2

2) 数码: 0、1

3) 各数位的位权:是以2为底的幂次方

4) 进位方法:逢二进一,借一当二

例如:(100110010)2

八进制1)基数: 8

2)数码: 0、1、2、3、4、5、6、7

3)各数位的位权:是以8为底的幂次方

4)进位方法:逢八进一,借一当八

例如:(1075)8

十六进制

1) 基数: 16

2) 数码: 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、A=10、B=11、C=12、D=13、E=14、F=15.

3) 各数位的位权:是以16为底的幂次方

4) 进位方法:逢十进一,借一当

例如:(1C7)16

、各进位制数的表示方法

十进制二进制八进制十六进制十进制二进制八进制十六进制

0 0000 0 0 9 1001 11 9

1 0001 1 1 10 1010 1

2 A

2 0010 2 2 11 1011 1

3 B

3 0011 3 3 12 1100 1

4 C

4 0100 4 4 13 1101 1

5 D

5 0101 5 5 14 1110 1

6 E

6 0110 6 6 15 1111 1

7 F

7 0111 7 7 16 10000 20 10

8 1000 10 8 17 10001 21 11

5、数制之间的转换

转换类型转换方法转换举例

其它进制的数转换为十进制的数按权展开二进制转换成十进制

八进制转换成十进制

十六进制转换成十进制

十进制数转换为其它进制的数整数部分:除基数取余

十进制转换成二进制

十进制转换成八进制

小数部分:乘基数取

十进制转换成十六进制

非十进制数之间的转换利用各种进位制对数的表示方法进行按位一一对应转换

说明

二、八进制之间的转换

二、十六进制之间的转换

八、十六进制之间的转换

①二进数制化为十进制

例1 (1011011)2=1×26+0×25+1×24+1×23 +0×22+1×21+1×20

=(91)10

例2 二进制数(1101.101)2=( ? )10

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

=(13.625)10

所以(1101.101)2 =(13.625)10

<<<>>>

②八进数制化为十进制

(136.75)8 =1×82+3×81+6×80+7×8-1+5×8-2

=(94.953125)10

<<<>>>

③十六进数制化为十进制

(2D3.BC)16=2×162+13×161+3×160+11×16-1++12×16-2 =(723.734375)10

十进制化为二进制

整数部分: 除2取余

小数部分: 乘2取整

除2取余

乘2取整

十进制转换成八进制

整数部分:除8取余

小数部分:乘8取整

十进制转换成进制十六进制

整数部分:除16取余

小数部分:乘16取整

<<<

<<<

<<<

非十进制之间的转换方法

方法:由于一位八进制数相当于三位二进制数,因此,要将八进制数转换成二进制数时,只要以小数为点界向左或向右每一位八进制数用相应的三位二进制数取代即可,如果不足三位,可用零补足。反之,二进制转换成相应的八进制数只是上述方法的逆过程,即以小说数点为界,向左或向右每三位二进制数用相应的一位八进制数取代即可。同理,十六进制与二进制互换,只要用四位二进制数取代一位十六进制数(逆过程一位十六进制数取代四位二进制数)即可,对于八进制与十六进制转换则要先将八进制(或十六进制)转换成二进制,然后应用前面的方法进行转换

<<<

二、八进制之间转换

①八进制转换成二进制

将(712.521)8转换成二进制数

7 1 2 . 5 2 1

111 001 010 . 101 010 001

( 712.521)8=(111 001 010.101 010 001)2

②二进制转换成八进制

将(11101010.00101011)2转换成八进制数

011 101 010.001 010 110

3 5 2 . 1 2 6

(011 101 010 . 001 010 110)2=(3 5 2 . 1 2 6)8 <<<

二、十六进制之间的转化

③十六进制转换成二进制

将(1AC0.6D)16转换成二进制数

1 A C 0. 6 D

0001 1010 1100 0000. 0110 1101

( 1AC0.6D)16=(0001 1010 1100 0000.0110 1101)2 ④二进制转换成十六进制

将(11101010.00101011)2转换成十六进制数

(1110 1010.0010 1011)2=EA.2B H

1110 1010.0010 1011

E A . 2 B

(1110 1010.0010 1011)2=EA.2B H

<<<

八、十六进制之间的转换

八、十六进制的数之间的转换要用二进制转换作过渡,即:先将八进制(或十六进制)转换成二进制,再将二进制转换成十六进制(或八进制)。

例将(36074.75)8=(?)16

八进制: 3 6 0 7 4. 6 5

二进制:011 110 000 111 100 110 101

0011 1100 0011 1100.1101 0100

十六进制: 3 C 3 C D 4

所以:(36074.75)8=(3C3C.D4)16

根据二进制的原则“逢二进一”,我们把2的n次方列出分别是:

20=1 21=2 22=4 23=8 24=16 25=32 26=64……

“8421”法的原理说白了就是一种凑数法,按2的n次方的值列出,根据不同的情况进行“凑数”。

对于二进制转换成十进制数

例如:二进制数1010转换成十进制数

8 4 2 1

二进制数:1 0 1 0 (结果为凡是1对应的数相加:8+2=10)

例1:110转换成十进制数

8 4 2 1

1 1 0 (结果为凡是1对应的数相加:4+2=6)

例2:11100转换成十进制数

16 8 4 2 1

1 1 1 0 0 (结果为凡是1对应的数相加:16+8+4=28)

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

将每个二进制数按权展开后求和即可。请看例题:

把二进制数(101.101)2=1*22+0*21+1*20+1*2-1+0*2-2+1*2-3=(5.625)10 二进制的1101转化成十进制

1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13

转化成十进制要从右到左用二进制的每个数去乘以2的相应次方

不过次方要从0开始

相反用十进制的13除以2 每除一下将余数就记在旁边

最后按余数从下向上排列就可得到1101

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

十进制转二进制:

用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.二进制与十进制的转换

(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.八进制与二进制的转换

例:将八进制的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

首先说说十进制是怎么回事吧。十进制是咱们最熟悉的。所以讲解起来不费劲。然后,你会发现十进制和二进制并没有什么本质的区别。

十进制里面有十个最基本的符号,0-9,所以,满十的时候,只能进位,因为一个位上最多只有这十中符号可以彼此区分了。

所以,十位上的1,代表了10个个位上的1,同理,百位上的1代表了10个十位上的1.也就是说,相邻的两个位,高位的1代表了10个低位上的1.这就是满10进1的含义。所以,十进制的123代表多少呢。这个问题,可以分解成1,2,3分别代表了多少,然后,123就代表了这三个数字各自所代表的数目之和。

1代表了10个十位上的1,而十位上的1又代表了10个各位上的1,所以百位上的1代表了1乘以10的平方。2代表了2乘以10的一次幂。3代表了3乘以1的0此幂。

所以123=1*(10**2)+ 2*(10**1)+ 3*(10**0)

**代表多少次幂。

实际上,二进制与十进制唯一的区别就在于他是满2进1.

所以,二进制的10代表多少呢?

各位的0代表0,高位的1代表1乘以2的一次幂,所以,10=1*(2**1)+ 0*(2**0)=2.

所以,要把二进制转化成十进制,很简单,就是把他的各个位所代表的数目的大小加起来,就这么简单。

所以,二进制的111,转化成十进制,是多少呢?

111=1*4+1*2+1*1=7;

难一点的在于把十进制转化成二进制。

十进制的5,转化为二进制的多少呢。直接告诉你答案吧,是101.

现在我来分析一下为什么是这个答案。其实,这个问题的本质就是解答一个方程,这个方程用来确定二进制各个位上的值,究竟是0呢,还是1,因为二进制值有0和1嘛,所以就只有这两种可能性了。

首先看最低位。如果是1,那么这个二进制对应的数应该是一个奇数,为什么这么说呢,因为,除了最低位以外,其余的位,至少是2的倍数,所以都是整2整2的,所以,最低位应该是1,因为5是奇数嘛!

既然已经用最低位表示了一个1了,那么,其余位,只要表示剩余的4就可以了,因为5-1=4,这里听明白了没?

为了方便表达,我把转化之后的二进制数,表示成。。。。dcba吧,前面加。。。,是因为这个数究竟有多少位,事先你不知道,只有计算完了之后才知道。当然,在这里,最后表示成了二进制数101,所以,d=0,c=1,b=2,a=1;

如果明白了,那么继续往下进行。

从刚才的分析中,你应该看出点端倪来了。其实,十进制转化成二进制的过程,就是一个从低位开始,逐个确定二进制各个位的值的过程。从低位开始,是因为,越高位,他代表的数就越“整”,倒数第二位代表的是2,第三位代表的是4,第四位是8,每一次都会扩大两倍,越来越“整”,只有高位表达不了的,也就是被高位整除不了的,才丢给低位,刚才第一步就是这么做的。5除以2以后,余数是1,那么,这个1就丢给最低位了。其余的4,让高位来表示。

现在考察第二位,也就是b了。b代表是整2,而c代表整4,d代表整8,所以,只有可以被2整除但是却不能被4整除的那部分,会留给b来表示。由于现在要表示的是4,可以被4整除,所以b=0.

现在,轮到c了。同样的道理,只有能被4整除而不能被8整除的部分,留给c。由于这里刚好是一个4,所以,c=1,c的1,实际上代表的是4,所以,现在剩下0了,也就不用再继续往下表示了。

我刚才说的,只是问题的本质。至于比较方便的做法,实际上应该是教科书上的那个方法:a=5%2=1,

5/2=2;

b=2%2=0;

2/2=1;

c=1%2=1;

1/2=0;

结束。

不知道我这么说你听明白了没有。我说的方法,和教科书上的方法,本质上是一样的。至于为什么是一样的,证明的过程留给你自己。

总结一下刚才的方法。刚才,为了让你能够更容易理解,我是从可操作性更强的一个角度来讲解的。事后诸葛亮一下吧。把问题解决以后,然后回头再总结总结,这是个好习惯。你可以从一个简单的问题中,获得很多很多。这是个好习惯。

实际上,越往高位走,越“整”,表示的额度越大,所以,要表示一个数,应该优先低位。为什么呢。因为,高位的表示能力很强,多大都能表示得下。要是某一位不够,再高两位总可以吧。所以说,越往高位,容量越大。但是,越往高位,他的分辨率就越小。反而是小的东西他们表达不了。就拿十进制来说吧。十位上,他只能表示整十整十的,1,2,。。。9

这些比较小的他就表达不了了。百位就更加表达不了了。所以说,应该优先把那些比较“零碎”的部分,首先留给低位来表达。越“零碎”的越先表达。所以,我们操作的顺序是从个位开始的。个位表示完了,就轮到十位,百位,千位了。按照这个顺序,当最后剩下为0的时候,这个任务就完成了。我说得够详细了吧。希望你理解。不仅要理解,也要从我刚才讲解的过程中,学到一些学习的方法。其实,很多问题,当你理解了本质,你会发现其实很简单的。所以,不要追逐花哨的东西。把问题理解透彻了,你会发现什么东西都架不住你的分析。这个时候,你会发现原本看起来需要技巧的东西,其实,你只要分析到位了,他就不再需要技巧。大道至真,大道至简。就是这个道理。

再深入一点,给你讲讲小数部分的转化吧。

肚子饿了。呵呵。吃饭去了。回头接着给你讲解吧。

吃完了。真舒服啊。接着给你讲吧。

刚才说的其实是整数部分的转化。小数部分的转化呢,其实也差不多。

假设小数部分是这样的形式:

X.abcd......

其中,X表示整数部分,.代表小数点。abcd就代表小数部分了。

小数部分,第一位的1代表0.5,第二位的1代表0.25,其次是0.125,0.0625,也就是每次缩小一半。这个也应该很好理解吧。

假设现在有一个十进制的0.875要转化成二进制数,如何表示呢。先来分析一下二进制的小数部分的规律吧。刚才已经讲过了,每个位上的1,能表示的额度,是越来越小的。所以,这次应该是把比较“整”的,大的部分先留给前面的位表示,剩下来的,由于每一位表示的是越来越小了,所以精度也越来越高,想要多高就有多高,所以,“零碎”的部分,留给后面的来表示就可以了。

0.875里面有一个0.5,所以第一位对应1,也就是说刚才那个X.abcd......里面,a=1,剩下来0.375,不足0.5,所以留给后面的来表示。

0.375里面有一个0.25,刚好第二位的1代表0.25,所以b=1,剩下0.125,c=1,剩下0,所以后面都是0了。也就是说可以到此结束了。

很简单吧。

不过有一点要注意。实际上,有可能存在一个数,这个数永远都没法结束。就好比1/3,要表示成十进制数,是一个无限循环小数。把一个十进制数表示成二进制数,也有类似的问题。这个怎么理解呢。先来看看小数点部分有什么规律吧。刚才已经看到了吧。每一次,每一位表示的都要比原来的小一半。也就是说,在数轴上,每一次,都把原来的相邻两个点,从中间劈开。把这个区间对半分。每次都如此。虽然可以把这个过程无穷无尽地重复下去。每次所得到的这些区间的端点,就是当前这些位所能表示的数。也就是说,当前精度下,就之能表示到这个精度了。虽然可以把这个精度无穷无尽地缩小,以至于分辨率越来越高,但是他终究是每次对半分,总有一些是表达不了的。所以也就是说,无论是十进制,还是二进制,他们都只能表达数轴上的某些有规律的点。总有一些点是没法表示的。所以,他只能无穷地接近某个数,但是却不能用某个时候的有限的精度来表示这个数。所以,有可能出现无穷尽地转化而没法结束的情况。就好比1/3=0.33333......,无穷无尽。

怎么样?说到这里,应该很好理解了吧。

如果这个理解透彻了,那么,八进制,十六进制都很简单了吧。

刚好,8是2的三次方,所以,八进制与二进制的互相转化,十六进制与二进制的互相转化,都很简单。二进制转化为八进制,很容易,二进制每相邻三位作为一个整体,转化成八进制的一位:

二进制的110 010对应八进制的:6 2,其余的一些问题,我就不费口舌了,你得学会自己动脑筋想问题。最好是自己能给自己提出问题。提出问题,说明你在独立自主地思考问题。说明你的思维已经到了一定的深度。这个很重要。没有一定的洞察力,提出来的问题也不会有什么技术含量,只有有了洞察力,你才会提出有质量的问题,而不断地积极主动地思考问题,提出问题,又能促进你的思维变得有洞察力。所以,一定要积极主动,要学会问问题。

. 十 -----> 二

给你一个十进制,比如:6,如果将它转换成二进制数呢?

10进制数转换成二进制数,这是一个连续除2的过程:

把要转换的数,除以2,得到商和余数,

将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。

听起来有些糊涂?我们结合例子来说明。比如要转换6为二进制数。

“把要转换的数,除以2,得到商和余数”。

那么:

十转二示意图

要转换的数是6, 6 ÷ 2,得到商是3,余数是0。

“将商继续除以2,直到商为0……”

现在商是3,还不是0,所以继续除以2。

那就: 3 ÷ 2, 得到商是1,余数是1。

“将商继续除以2,直到商为0……”

现在商是1,还不是0,所以继续除以2。

那就: 1 ÷ 2, 得到商是0,余数是1

“将商继续除以2,直到商为0……最后将所有余数倒序排列”

好极!现在商已经是0。

我们三次计算依次得到余数分别是:0、1、1,将所有余数倒序排列,那就是:110了!

6转换成二进制,结果是110。

把上面的一段改成用表格来表示,则为:

被除数计算过程商余数

6 6/2 3 0

3 3/2 1 1

1 1/

2 0 1

(在计算机中,÷用 / 来表示)

2. 二 ----> 十

二进制数转换为十进制数

二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……

所以,设有一个二进制数:0110 0100,转换为10进制为:

下面是竖式:

0110 0100 换算成十进制

" ^ " 为次方

第0位 0 * 2^0 = 0

第1位 0 * 2^1 = 0

第2位 1 * 2^2 = 4

第3位 0 * 2^3 = 0

第4位 0 * 2^4 = 0

第5位 1 * 2^5 = 32

第6位 1 * 2^6 = 64

第7位 0 * 2^7 = 0 +

---------------------------

100

用横式计算为:

0 * 2 ^ 0 + 0 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 + 1 * 2 ^ 6 + 0 * 2 ^ 7 = 100

0乘以多少都是0,所以我们也可以直接跳过值为0的位:

1 *

2 ^ 2 + 1 * 2 ^ 5 + 1 * 2 ^ 6 = 100

3. 十 ----> 八

10进制数转换成8进制的方法,和转换为2进制的方法类似,唯一变化:除数由2变成8。

来看一个例子,如何将十进制数120转换成八进制数。

用表格表示:

被除数计算过程商余数

120 120/8 15 0

15 15/8 1 7

1 1/8 0 1

120转换为8进制,结果为:170。

4. 八 ----> 十

八进制就是逢8进1。

八进制数采用 0~7这八数来表达一个数。

八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方……

所以,设有一个八进制数:1507,转换为十进制为:

用竖式表示:

1507换算成十进制。

第0位 7 * 8^0 = 7

第1位 0 * 8^1 = 0

第2位 5 * 8^2 = 320

第3位 1 * 8^3 = 512

--------------------------

839

同样,我们也可以用横式直接计算:

7 * 8^0 + 0 * 8^1 + 5 * 8^2 + 1 * 8^3 = 839

结果是,八进制数 1507 转换成十进制数为 839

5. 十 ----> 十六

10进制数转换成16进制的方法,和转换为2进制的方法类似,唯一变化:除数由2变成16。

同样是120,转换成16进制则为:

被除数计算过程商余数

120 120/16 7 8

7 7/16 0 7

120转换为16进制,结果为:78。

6. 十六----> 十

16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15。字母不区分大小写。

十六进制数的第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

(别忘了,在上面的计算中,A表示10,而F表示15)

现在可以看出,所有进制换算成10进制,关键在于各自的权值不同。

假设有人问你,十进数 1234 为什么是一千二百三十四?你尽可以给他这么一个算式:

1234 = 1 * 10^3 + 2 * 10^2 + 3 * 10^1 + 4 * 10^0

7. 二 ----> 八

(11001.101)(二)

整数部分:从后往前每三位一组,缺位处用0填补,然后按十进制方法进行转化,则有:

001=1

011=3

然后我们将结果按从下往上的顺序书写就是:31,那么这个31就是二进制11001的八进制形式

小数部分:从前往后每三位一组,缺位处用0填补,然后按十进制方法进行转化,则有:

101=5

然后我们将结果部分按从上往下的顺序书写就是:5,那么这个5就是二进制0.101的八进制形式

所以:(11001.101)(二)=(31.5)(八)

8. 八 ----> 二

(31.5)(八)

整数部分:从后往前每一位按十进制转化方式转化为三位二进制数,缺位处用0补充则有:

1---->1---->001

3---->11

然后我们将结果按从下往上的顺序书写就是:11001,那么这个11001就是八进制31的二进制形式

说明,关于十进制的转化方式我这里就不再说了,上一篇文章我已经讲解了!

小数部分:从前往后每一位按十进制转化方式转化为三位二进制数,缺位处用0补充则有:

5---->101

然后我们将结果按从下往上的顺序书写就是:101,那么这个101就是八进制5的二进制形式

所以:(31.5)(八)=(11001.101)(二)

9. 十六 ----> 二;二 ----> 十六

二进制和十六进制的互相转换比较重要。不过这二者的转换却不用计算,每个C,C++程序员都能做到看见二进制数,直接就能转换为十六进制数,反之亦然。

我们也一样,只要学完这一小节,就能做到。

首先我们来看一个二进制数:1111,它是多少呢?

你可能还要这样计算:1 * 2^0 + 1 * 2^1 + 1 * 2^2 + 1 * 2^3 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15。

然而,由于1111才4位,所以我们必须直接记住它每一位的权值,并且是从高位往低位记,:8、4、2、1。即,最高位的权值为2^3 = 8,然后依次是 2^2 = 4,2^1=2, 2^0 = 1。

记住8421,对于任意一个4位的二进制数,我们都可以很快算出它对应的10进制值。

下面列出四位二进制数 xxxx 所有可能的值(中间略过部分)

仅4位的2进制数快速计算方法十进制值十六进值

1111 = 8 + 4 + 2 + 1 = 15 F

1110 = 8 + 4 + 2 + 0 = 14 E

1101 = 8 + 4 + 0 + 1 = 13 D

1100 = 8 + 4 + 0 + 0 = 12 C

1011 = 8 + 0 + 2+ 1 = 11 B

1010 = 8 + 0 + 2 + 0 = 10 A

1001 = 8 + 0 + 0 + 1 = 9 9

....

0001 = 0 + 0 + 0 + 1 = 1 1

0000 = 0 + 0 + 0 + 0 = 0 0

二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。

如(上行为二制数,下面为对应的十六进制):

1111 1101 , 1010 0101 , 1001 1011

F D , A 5 , 9 B

反过来,当我们看到 FD时,如何迅速将它转换为二进制数呢?

先转换F:

看到F,我们需知道它是15(可能你还不熟悉A~F这五个数),然后15如何用8421凑呢?应该是8 + 4 + 2 + 1,所以四位全为1 :1111。

接着转换 D:

看到D,知道它是13,13如何用8421凑呢?应该是:8 + 4 + 1,即:1101。

所以,FD转换为二进制数,为: 1111 1101

由于十六进制转换成二进制相当直接,所以,我们需要将一个十进制数转换成2进制数时,也可以先转换成16进制,然后再转换成2进制。

比如,十进制数 1234转换成二制数,如果要一直除以2,直接得到2进制数,需要计算较多次数。所以我们可以先除以16,得到16进制数: 被除数计算过程商余数

1234 1234/16 77 2

77 77/16 4 13 (D)

4 4/16 0 4

结果16进制为: 0x4D2

然后我们可直接写出0x4D2的二进制形式: 0100 1101 0010。

其中对映关系为:

0100 -- 4

1101 -- D

0010 -- 2

同样,如果一个二进制数很长,我们需要将它转换成10进制数时,除了前面学过的方法是,我们还可以先将这个二进制转换成16进制,然后再转换为10进制。

下面举例一个int类型的二进制数:

01101101 11100101 10101111 00011011

我们按四位一组转换为16进制: 6D E5 AF 1B

编辑本段二、负数

负数的进制转换稍微有些不同。

先把负数写为其补码形式(在此不议),然后再根据二进制转换其它进制的方法进行。

例:要求把-9转换为八进制形式。则有:

-9的补码为11110111。然后三位一划

111---->7

110---->6

011---->3

然后我们将结果按从下往上的顺序书写就是:367,那么367就是十进制数-9的八进制形式。

补充:

最近有些朋友提了这样的问题“0.8的十六进制是多少?”

我想在我的空间里已经有了详细的讲解,为什么他还要问这样的问题那

于是我就动手算了一下,发现0.8、0.6、0.2... ...一些数字在进制之间的转化

过程中确实存在麻烦。

就比如“0.8的十六进制”吧!

无论你怎么乘以16,它的余数总也乘不尽,总是余8

这可怎么办啊,我也没辙了

第二天,我请教了我的老师才知道,原来这么简单啊!

具体方法如下:

0.8*16=12.8

0.8*16=12.8

.

.

.

.

.

取每一个结果的整数部分为12既十六进制的C

如果题中要求精确到小数点后3位那结果就是https://www.wendangku.net/doc/a511337567.html,C

如果题中要求精确到小数点后4位那结果就是https://www.wendangku.net/doc/a511337567.html,CC

现在OK了,我想我的朋友再也不会因为进制的问题烦愁了!

下面是将十进制数转换为负R进制的公式:

N=(dmdm-1...d1d0)-R

=dm*(-R)^m+dm-1*(-R)^m-1+...+d1*(-R)^1+d0*(-R)^0

15=1*(-2)^4+0*(-2)^3+0*(-2)^2+1*(-2)^1+1*(-2)^0

=10011(-2)

其实转化成任意进制都是一样的

初学者最容易犯的错误!!!!!!!

犯错:(-617)D=(-1151)O=(-269)H

原因分析:如果是正数的话,上面的思路是正确的,但是由于正数和负数在原码、反码、补码转换上的差别,所以按照正数的求解思路去对负数进行求解是不对的。

正确的方法是:首先将-617用补码表示出来,然后再转换成八进制和十六进制(补码)即可。

注:二进制补码要用16位。

正确答案::(-617)D=(176627)O=(fd97)H

负数十进制转换成八进制或十六进制方法

如(-12)10=()8=()16

第一步:转换成二进制

1000 0000 0000 1100

第二步:补码,取反加一

注意:取反时符号位不变!

1111 1111 1111 0100

第三步:转换成八进制是三位一结合:(177764)8

转换成十六进制是四位一结合:(fff4)16

计算机《数制与编码-进制转换》公开课教案 (2)

课时安排:一课时 教学方法:讲授法 教学目的:1、熟悉数制的概念;2、掌握位权表示法; 3、掌握各数制之间的转换方法。 教学重点:进制、基数、位权的概念 教学难点:二进制—十进制间相互转换 教学过程: 一、师生问好,考勤 二、复习旧识,导入新课 通过学习计算机系统组成,我们已经知道,人与计算机进行信息交换通常使用程序设计语言,程序设计语言经历了三个阶段:机器语言、汇编语言和高级语言。机器语言是机器指令序列,机器指令是一串0和1组成的二进制编码,是唯一能被计算机识别的语言。计算机的语言和我们人类的语言是不一样的。所以当我们对计算机发出一个命令,这些命令必须要经过数字化编码后才能传送、存储和处理。那么要了解计算机是如何将我们发出的信息转换成数字编码之前,我们必须先了解掌握各种数制以及数制的转换。 三、新课讲解 (一)数制 1.进制 按进位的原则进行记数的方法叫做进位记数制。“进位记数制”简称为“数制”或“进制”。我们平时用的最多的就是十进制了,那么,大家想一下,还有没有其他的进制呢?比如,一年12个月,十二进制;古代1斤=16两,逢十六进一,就是十六进制;1公斤=2斤,1时辰=2小时,逢二进一,就是二进制。由此也可以推断出,每一种进制

的进位都遵循一个规则,那就是N进制,逢N进一。这里的N叫做基数。 2.基数 所谓“基数”就是数制中表示数值所需要的数字的总数。十进制中用0—9来表示数值,一共有10个不同的字符;二进制中用0、1来表示数值,一共2个字符;十六进制中0—9、A、B、C、D、E、F,一共有16个不同的字符。为了区别不同的进制数,常在不同进制数字后加一字母表示:十进制D、二进制B、十六进制H。 3.位权 “位权”是指每个数位被赋以一定的权值。位权是基数的若干次幂。采用进位计数制进行计数,表示数值大小的数码与它在数中所处的位置有关。 (二)使用二进制的原因 计算机内部一律采用二进制表示数据信息,而大家常用的则是十进制,有时为了方便还使用八进制或十六进制。采用二进制的原因: ①二进制码在物理上最容易实现。计算机由逻辑电路组成的,逻辑电路通常只有两个状态。例如,电压的高与低、脉冲的有与无、开关的接通与断开等。这两种状态正好用来表示二进制数码“1”和“0”。若是采用十进制,则需表示十个数码,这是困难的。 ②运算简单。③逻辑性强。 (三)数制转换 在计算机进行数据处理时首先把输入的十进制数转换成计算机所能接受的二进制数;计算机运行结束后,再把二进制数转换成人们所习惯的十进制数输出。这种将数由一种数制转换成另一种数制称为数制间的转换。

计算机各种进制转换练习题(附答案)

进制转换练习题 1.十进制数1000对应二进制数为______,对应十六进制数为______。 供选择的答案 A:① 1111101010 ② 1111101000 ③ 1111101100 ④ 1111101110 B:① 3C8 ② 3D8 ③ 3E8 ④ 3F8 2.十进制小数为0.96875对应的二进制数为______,对应的十六进制数为______。 供选择的答案 A:① 0.11111 ② 0.111101 ③ 0.111111 ④ 0.1111111 B:① 0.FC ② 0.F8 ③ 0.F2 ④ 0.F1 3.二进制的1000001相当十进制的______。 ① 62 ② 63 ③ 64 ④ 65 4.十进制的100相当于二进制______,十六进制______。 供选择的答案 A:① 1000000 ② 1100000 ③ 1100100 ④ 1101000 B:①100H ②AOH ③ 64H ④10H 5.八进制的100化为十进制为______,十六进制的100化为十进制为______。 供选择的答案 A:① 80 ② 72 ③ 64 ④ 56 B:① 160 ② 180 ③ 230 ④ 256 6.十六进制数FFF.CH相当十进制数______。 ① 4096.3 ② 4096.25 ③ 4096.75 ④ 4095.75 7.2005年可以表示为______ 年。 ① 7C5H ② 6C5H ③ 7D5H ④ 5D5H 8.二进制数10000.00001将其转换成八进制数为______;将其转换成十六进制数为______。 供选择的答案 A:① 20.02 ② 02.01 ③ 01.01 ④ 02.02 B:① 10.10 ② 01.01 ③ 01.04 ④ 10.08 9.对于不同数制之间关系的描述,正确的描述为______。 供选择的答案 A:①任意的二进制有限小数,必定也是十进制有限小数。 ②任意的八进制有限小数,未必也是二进制有限小数。 ③任意的十六进制有限小数,不一定是十进制有限小数。 ④任意的十进制有限小数,必然也是八进制有限小数。 10.二进制整数1111111111转换为十进制数为______,二进制小数0.111111转换成十进制数为______。

计算机考试中各种进制转换的计算方法

二进制数第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这八数来表达一个数。

八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方…… 所以,设有一个八进制数:1507,转换为十进制为: 用竖式表示: 1507换算成十进制。 第0位 7 * 80 = 7 第1位 0 * 81 = 0 第2位 5 * 82 = 320 第3位 1 * 83 = 512 + -------------------------- 839 同样,我们也可以用横式直接计算: 7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839 结果是,八进制数 1507 转换成十进制数为 839 2AF5换算成10进制: 第0位: 5 * 160 = 5 第1位: F * 161 = 240 第2位: A * 162 = 2560 第3位: 2 * 163 = 8192 +

各种进制之间转换方法

各进制转换方法(转载) 一、计算机中数的表示: 首先,要搞清楚下面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 三、各种进制数的运算

计算机进制转换汇总

计算机进制转换汇总 计算机中常用的数的进制主要有:二进制、八进制、十六进制,学习计算机要对其有所了解。 2进制,用两个阿拉伯数字:0、1; 8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7; 10进制,用十个阿拉伯数字:0到9; 16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。 以下简介各种进制之间的转换方法: 一、二进制转换十进制 例:二进制“1101100” 1101100 ←二进制数 6543210 ←排位方法

例如二进制换算十进制的算法: 1*26 + 1*25 + 0*24 + 1*23 + 1* 22 + 0*21 + 0*20 ↑↑ 说明:2代表进制,后面的数是次方(从右往左数,以0开始)=64+32+0+8+4+0+0 =108 二、二进制换算八进制 例:二进制的“10110111011” 换八进制时,从右到左,三位一组,不够补0,即成了: 010 110 111 011 然后每组中的3个数分别对应4、2、1的状态,然后将为状态为1的相加,如: 010 = 2 110 = 4+2 = 6

111 = 4+2+1 = 7 011 = 2+1 = 3 结果为:2673 三、二进制转换十六进制 十六进制换二进制的方法也类似,只要每组4位,分别对应8、4、2、1就行了,如分解为: 0101 1011 1011 运算为: 0101 = 4+1 = 5 1011 = 8+2+1 = 11(由于10为A,所以11即B) 1011 = 8+2+1 = 11(由于10为A,所以11即B) 结果为:5BB 四、二进制数转换为十进制数 二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……

二进制 各种转化

C语言中二进制十进制十六进制各是什么意思? 学按位要用到这些知识但又不懂! 匿名| 浏览1240 次问题未开放回答 推荐于2016-05-22 01:54:54 最佳答案 计算机中常用的数的进制主要有:二进制、八进制、十六进制,学习计算机要对其有所了解。2进制,用两个阿拉伯数字:0、1; 8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7; 10进制,用十个阿拉伯数字:0到9; 16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。 以下简介各种进制之间的转换方法:

一、二进制转换十进制 例:二进制“1101100” 1101100 ←二进制数 6543210 ←排位方法 例如二进制换算十进制的算法: 1*26 + 1*25 + 0*24 + 1*23 + 1* 22 + 0*21 + 0*20 ↑↑ 说明:2代表进制,后面的数是次方(从右往左数,以0开始) =64+32+0+8+4+0+0 =108 二、二进制换算八进制 例:二进制的“10110111011” 换八进制时,从右到左,三位一组,不够补0,即成了: 010 110 111 011 然后每组中的3个数分别对应4、2、1的状态,然后将为状态为1的相加,如:010 = 2 110 = 4+2 = 6 111 = 4+2+1 = 7 011 = 2+1 = 3 结果为:2673

三、二进制转换十六进制 十六进制换二进制的方法也类似,只要每组4位,分别对应8、4、2、1就行了,如分解为:0101 1011 1011 运算为: 0101 = 4+1 = 5 1011 = 8+2+1 = 11(由于10为A,所以11即B) 1011 = 8+2+1 = 11(由于10为A,所以11即B) 结果为:5BB 四、二进制数转换为十进制数 二进制数第0位的权值是2的0次方,第1位的权值是2的1次方…… 所以,设有一个二进制数:0110 0100,转换为10进制为: 计算:0 * 20 + 0 * 21 + 1 * 22 + 0 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100 五、八进制数转换为十进制数 八进制就是逢8进1。 八进制数采用0~7这八数来表达一个数。 八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方…… 所以,设有一个八进制数:1507,转换为十进制为: 计算:7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839

计算机进制转换月考试题

进制转换试题 1. 十进制数257转换成二进制数为_____。 A) 11101110 B) 11111111 C) 100000001 D) 100000011 2. 十进制数93转换成二进制数为_____。 A) 1110111 B) 1110101 C) 1010111 D) 1011101 3. 十进制数56转换成二进制数为_____。 A) 111000 B) 111001 C) 101111 D) 110110 4. 十进制数247转换成二进制数为_____。 A) 11100110 B) 11101110 C) 11110111 D) 11100111 5. 十进制数178转换成二进制数为_____。 A) 10111101 B) 10110010 C) 11100101 D) 11100001 6. 十进制数169转换成二进制数为_____。 A) 10101001 B) 10110111 C) 11010000 D) 11010001 7. 十进制数194转换成二进制数为_____。 A) 11011001 B) 10110111 C) 11000010 D) 10011111 8. 十进制数138转换成二进制数为_____。 A) 10010001 B) 10010001 C) 11000010 D) 10001010 9. 二进制数1011001转化为十进制数是_____。 A) 83 B) 81 C) 89 D) 79 10. 二进制数10110010转化为十进制数是_____。 A) 170 B) 178 C) 186 D) 174 11. 二进制数11010101转化为十进制数是_____。 A) 209 B) 223 C) 197 D) 213 12. 二进制数11101110转化为十进制数是_____。 A) 238 B) 230 C) 222 D) 206 13. 二进制数1011.001转化为十进制数是_____。 A) 11.25 B) 10.25 C) 11.125 D) 10.125 14. 二进制数11011.11转化为十进制数是_____。 A) 27.03 B) 27.75 C) 25.03 D) 25.75 15. 二进制数11001.101转化为十进制数是_____。 A) 25.05 B) 20.05 C) 20.625 D) 25.625 16. 二进制数11110.011转化为十进制数是_____。 A) 30.375 B) 30.03 C) 34.375 D) 34.03 17. 八进制数25363转化为二进制数是_____。 A) 101011111011 B) 10101011110011 C) 1010101111011 D) 1010111111011 18. 八进制数14071转化为二进制数是_____。 A) 110001111 B) 11000111001 C) 1100000111001 D) 11000001111 19. 八进制数253.24转化为二进制数是_____。 A) 10101011.0101 B) 1010111.10100 C) 10101011.10100 D) 1010111.010100 20. 八进制数112.03转化为二进制数是_____。

计算机进制之间相互转换

计算机进制之间的相互转换 一、进位计数制 所谓进位计数制是指按照进位的方法进行计数的数制,简称进位制。在计算机中主要采用的数制是二进制,同时在计算机中还存在八进制、十进制、十六进制的数据表示法。下面先来介绍一下进制中的基本概念: 1、基数 数制是以表示数值所用符号的个数来命名的,表明计数制允许选用的基本数码的个数称为基数,用R表示。例如:二进制数,每个数位上允许选用0和1,它的基数R=2;十六进制数,每个数位上允许选用1,2,3,…,9,A,…,F共16个不同数码,它的基数R=16。 2、权 在进位计数制中,一个数码处在数的不同位置时,它所代表的数值是不同的。每一个数位赋予的数值称为位权,简称权。 权的大小是以基数R为底,数位的序号i为指数的整数次幂,用i表示数位的序号,用Ri表示数位的权。例如,543.21各数位的权分别为102、101、100、10-1和10-2。 3、进位计数制的按权展开式 在进位计数制中,每个数位的数值等于该位数码与该位的权之乘积,用Ki表示第i位的系数,则该位的数值为KiRi。任意进位制的数都可以写成按权展开的多项式和的形式。 二、计算机中的常用的几种进制。 在计算机中常用的几种进制是:二进制、八进制、十进制和十六进制。二进制数的区分符用字母B表示,八进制数的区分符用字母O表示,十进制数的区分符用字母D表示或不用区分符,十六进制数的区分符用字母H表示。 1、二进制(Binary System)

二进制数中,是按“逢二进一”的原则进行计数的。其使用的数码为0,1,二进制数的基为“2”,权是以2为底的幂。 2、八进制(Octave System) 八进制数中,是按“逢八进一”的原则进行计数的。其使用的数码为0,1,2,3,4,5,6,7,八进制数的基为“8”,权是以8为底的幂。 3、十进制(Decimal System) 十进制数中,是按“逢十进一”的原则进行计数的。其使用的数码为1,2,3,4,5,6,7,8,9,0,十进制数的基为“10”,权是以10为底的幂。 4、十六进制(Hexadecimal System) 十六进制数中,是按“逢十六进一”的原则进行计数的。其使用的数码为0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,十进制数的基为“16”,权是以16 为底的幂。 三、进位计数制相互转换 1、二进制转换成八进制 转换原则:以小数点为中心,整数部分从右向左,小数部分从左向右,“三位一体,不足补零。” 举例:(.1111)B =(010 101 100)O=()O 2、二进制转换成十进制 转换原则:让二进制各位上的系数乘以对应的权,然后求其和。 举例:()B =(1×22+1×21+1×20+1×2-1+1×2-2)D=()D 3、二进制转换成十六进制 转换原则:以小数点为中心,整数部分从右向左,小数部分从左向右,“四位一体,不足补零”。 举例:()B =(0001 0101 )H = (1 5 )H 4、八进制转换成二进制 转换原则:将八进制上每一位数码“一分为三”,即可得二进制。 举例:()O =(111 110 011)B

进制换算专项练习

[12]. 采用补码表示法,整数"0"只有一种表示形式,该表示形式为____B____。 A) 1000...00 B) 0000 (00) C) 1111...11 D) 0111 (11) 37.在一个字长为八位的计算机中,采用补码表示,符号位占一位,则 -128在计算机中表示为__B__。D A. 11111111 B. 10000001 C. 01111111 D. 10000000 51. 二进制数10001010对应的十进制数是__C__。 A. 155 B. 154 C. 138 D. 139 4、已知【x】补=10011000,其真值为 D 。 A.-1100110 B -1100111 C. - 0011000 D. –1101000 已知X的补码为10011000,则它的原码是___D___ A. 01101000 B. 01100111 C. 10011000 D. 11101000 53.设某PC机使用32位地址线,则最大内存容量可达__A_。 A.4GB B. 256MB C.8GB D.16MB 1. 采用某种进位制时,如果4*5=14,那么,7*3 =____A____。 A.15 B.21 C.20 D.19 21、根据两个一位二进制的加法运算规则,其和为1的正确表述为( C ) A、这两个二进制数都为1 B、这两个二进制数都为0 C、这两个二进制数不相等 D、这两个二进制数相等 22、根据两个一位二进制数的加法运算规则,其进位为1的正确表述为(A ) A、这两个二进制数都为1 B、这两个二进制数中只有一个1 C、这两个二进制数中没有1 D、这两个二进制数不相等 31、十进制数“—43”用时位二进制补码表示为(B ) A、10101011 B、11010101 C、11010100 D、01010101 12、下列有关“权值”表述正确的是( B )A A、权值是指某一数字符号在数的不同位置所表示的值的大小 B、二进制的权值是“二”,十进制的权制是“十” C、权值就是一个数的数值 D、只有正数才有权值 13、下列有关“基数”表述正确的是(A )B A、基数是指某一数字符号在数的不同位置所表示的值的大小 B、二进制的基数是“二”,十进制的基数是“十” C、基数就是一个数的数值 D、只有正数才有基数 3、二进制数10100101和11101101 A.105和EB B 95和ED C. 125和EB D. A5和ED 12、下列有关“权值”表述正确的是( A ) A、权值是指某一数字符号在数的不同位置所表示的值的大小 B、二进制的权值是“二”,十进制的权制是“十” C、权值就是一个数的数值 D、只有正数才有权值 13、下列有关“基数”表述正确的是(A )B

计算机进制转换

二进制、八进制、十进制、十六进制之间转换二进制、八进制、十进制、十六进制之间转换 一、十进制与二进制之间的转换 (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转换为二进制(保留到小数点第四位)

计算机进制转换公式

计算机进制转换公式 (1 )将二进制数转换成对应的十进制数 将二进制数转换成对应的十进制数的方法是“按权展开求和”:利用二进制数按权展开的多项式之和的表达式,取基数为 2 ,逐项相加,其和就是对应的十进制数。 例 1 :将二进制数1011.1 转换成对应的十进制 解:1011.1B=1×2 3+0×2 2+1×2 1+1×2 0+1×2 -1=8+0+2+1+0.5=11.5D (2 )将十进制数转换成对应的二进制数 将十进制数转换为对应的二进制数的方法是: 对于整数部分,用被除数反复除以2 ,除第一次外,每次除以2 均取前一次商的整数部分作被除数并依次记下每次的余数。另外,所得到的商的最后一位余数是所求二进制数的最高位。对于小数部分,采用连续乘以基数 2 ,并依次取出的整数部分,直至结果的小数部分为0 为止。故该法称“ 乘基取整法” 。 例:将十进制117.625D 转换成二进制数 解:整数部分:“除以2 取余,逆序输出” 小数部分: “乘以2 取整,顺序输出” 所以117.625D =1110101.101B 特别提示:将十进制数转换成其他进制数方法与次上述方法类似。 (3 )将二进制数转换为对应的八进制数 由于1 位八进制数对应3 位二进制数,所以二进制数转换成八进制数时,只要以小数点为界,整数部分向左,小数部分向右每 3 位分成一组,各组用对应的 1 位八进制数字表示,即可得到对应的八进制数值。最左最右端分组不足 3 位时,可用0 补足。 例:将1101101.10101B 转换成对应的八进制数。 解:所以,1101101.10101B =155.52Q 。 同理,用相反的方法可以将八进制数转换成对应的二进制数。 (4 )将二进制数转为对应的十六进制数 由于1 位十六进制数对应4 位二进制数,所以二进制数转换为十六进制时,只要以小数点为界,整数部分向左,小数部分向右每 4 位分成一组,各组用对应的 1 位十六进制数字表示,即可得到对应的十六进制数值。两端的分组不足 4 位时,用0 补足。 例:将1101101.10101B 转换成对应的十六进制数 解:所以1101101.10101B =6D.8AH 。 同理,用相反的方法可以将十六进制数转换成对应的二进制数。 例:将十六进制数5DF.9 转换成二进制: 例:将二进制数1100001.111 转换成十六进制: 至于其他的转换方法,如八进制到十进制,十六进制到十进制之间的转换,同样可用按权展开的多项式之和及整数部分用“ 除基取整数” 来实现的。只不过此时基数分别为8 和16 。当然,更简单实用的方法是借用二进制数做桥梁,用“ 八——二——十” 或“ 十六——二——八” 的转换方法来实现。

计算机各进制换算

一:十进制数转换成二进制数。 随便拿出一个十进制数“39”,(假如你今天买书用了39元)先来把这个39转换成2进制数。 商余数 步数 39/2= 19 1 第一步 19/2= 9 1 (这里的19是第一步运算结果的商) 第二步 9/2= 4 1 (这里的9是第二步运算结果的商) 第三步 4/2= 2 0 (这里的4是第三步运算结果的商) 第四步 2/2= 1 0 (这里的2是第四步运算结果的商) 第五步 1/2= 0 1 (这里的1是第五步运算结果的商) 第六步 那么十进制数39转换成2进制数就是100111. 既39(10)=100111(2) 解析一:1. 当要求把一个10进制数转换成2进制数的时候,就用那个数一直除以2得到商和余数。 2. 用上一步运算结果的商在来除以2,再来得到商和余数。 3. 就这样,一直用上一步的商来除以2,得到商和余数!那么什么时候停止呢? 4. 请看上述运算图,第六步的运算过程是用1除以2.得到的商是0,余数是1. 那么请你记住,记好了啊共2点。A: 当运算到商为“0”的时候,就不用运算了。B:1/2的商为“0”余数为“1”。这个你要死记住,答案并不是0.5!答案就是商为“0”余数为“1”。你不用去思考为什么,记好了就行了! 5. 在上述图中你会清晰的看到每一步运算结果的余数,你倒着把它们写下来就是“100111”了。那么这个就是结果了。 6. 在上述图中符号“/”代表“除以”。

二:十进制数转换成八进制数。 随便拿出一个十进制数“358”,(假如你今天买彩票中了358元)。358是我们现实生活中所用10进制表达出来的一个数值,转换成八进制数十多少? 商余数 步数 358/8= 44 6 第一步 44/8= 5 4 (这里的44是第一步运算结果的商) 第二步 5/8= 0 5 (这里的5是第二步运算结果的商) 第三步 那么十进制数358转换成8进制数就是546。既358(10)=546(8) 解析二: 1.没什么好说的啦,10进制数转换成2进制数和10进制数转换成8进制数的唯一不一样的地方就是除数变了,除数由“2” 变成了“8”。其余的都一样。所以解析一,你一定要看明白并记好。 2.你或许会疑问5/8为什么商为“0” 余数为“5”。因为5不够被8除,那么商就是“0”余数就是“5” 同理1/2商为“0”余数为“1”。不多解释了啊!

计算机《数制与编码-进制转换》公开课教案

数制与编码——进制转换 【学情分析】本课内容是在学生已经学习了计算机发展与应用、计算机系统的组成等知识的基础上进行,已经初步知道了人与计算机进行信息交换通常使用程序设计语言,程序设计语言经历了三个阶段:机器语言、汇编语言和高级语言。机器语言是机器指令序列,是一串0和1组成的二进制编码,是唯一能被计算机识别的语言。那么要了解计算机是如何将我们发出的信息转换成数字编码之前,我们必须先了解掌握各种数制及相互间的转换。这节课内容较多,学生理解起来比较困难,根据课堂需要和学生特点,既要让学生有信心、热情地学习新知识,又要让他们主动积极地参与到整个教学活动中来。 【课时安排】2课时 【授课形式】讲授、多媒体教学 【教学方法】讲授法、练习法、问答法、演示法 【教学用具】计算机、黑板、多媒体、课件 【教学目标】 知识目标:1、了解数制、基、基数及位权的概念; 2、掌握二进制、十进制、八进制、十六进制的表示方法; 3、掌握二进制与十进制间相互转换的方法。 技能目标:1、培养学生逻辑运算能力; 2、培养学生分析问题、解决问题的能力; 3、培养学生独立思考问题的能力。 情感目标:通过数制转换的学习培养学生的计算机科学涵养,同时,让学生体会到认真的学习态度,严谨细致的学习习惯。 【教学重点】1、进制、基数、位权的概念。2、二进制与十进制间相互转换方法。【教学难点】二进制与十进制间相互转换 【教学过程】 一、师生问好,考勤 二、复习旧识,导入新课 (以下教师的语言、活动简称“师”,学生的活动简称“生”)

课前引入: 师:我想请大家做一道算术题:110+110= ? (学生几乎都回答等于220)。 师:那么220这个答案对还是不对呢?可以说对,也可以说不对。在学习本课之前,回答220是正确的,但是,在我们学完今天的知识后,答案就不一是220了。为什么呢? (设疑,学生思考,教师点名个别学生回答) 师:谈到数字,有很多同学可能会觉的很可笑,这不就是1234……是的,在生活中,我们用的一般都是十进制。那么大家想一下,我们的生活中,还用到了哪些别的进制? (学生思考回答:十二进制、60进制等) 师:我们的一年有12个月,这是十二进制。一小时等于60分,一分等于60秒,我们的时间是60进制。当然,还有一些,比如一米等于三尺,三进制。比如我们的鞋子或袜子,两只为一双,这是二进制。可是我们通过前面的课程已经知道计算机唯一能识别是二进制数,这正是我们本节课所学习的重点。(本节课我们将了解数制、基、基数及位权的概念;掌握二进制、十进制、八进制、十六进制的表示方法;掌握二进制与十进制间相互转换的方法。) 三、新课讲解 (一)主要概念 1.数制 师:在我们小学阶段最开始学习的就是十以内的加法,之后是两位数的加法,在两位数加法的学习中,老师是不是经常会说,要注意逢十进一?也就是我们平常说的别忘了进位。像这样按进位的原则进行记数的方法叫做进位记数制。简称为“数制”或“进制”。我们平时用的最多的就是十进制了,那么,大家想一下,还有没有其他的进制呢?比如,一周七天,七进制;一年12个月,十二进制;一小时六十分钟,六十进制;1公斤=2斤,1时辰=2小时,逢二进一,就是二进制。除此以外在计算机语言中常用八进制和十六进制。由此也可以推断出:每一种进制的进位都遵循一个规则,那就是N进制,逢N进一。 2.基与基数

计算机各种进制转换

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 用横式计算为: 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 6.2.2 八进制数转换为十进制数 八进制就是逢8进1。 八进制数采用 0~7这八数来表达一个数。 八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方…… 所以,设有一个八进制数:1507,转换为十进制为: 用竖式表示: 1507换算成十进制。 第0位 7 * 80 = 7 第1位 0 * 81 = 0 第2位 5 * 82 = 320 第3位 1 * 83 = 512 + -------------------------- 839 同样,我们也可以用横式直接计算: 7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839 结果是,八进制数 1507 转换成十进制数为 839

计算机+计算题公式梳理

计算题公式梳理 1.总线带宽计算:总线带宽(M B/s)=(数据线宽度/8)(B)×总线工作频率(MHz) 2.存储容量= 磁盘面数(磁头数)?磁道数(柱面数)?扇区数?512字节B 3.CPU访问内存空间大小是由 CPU的地址线宽为n决定,那么CPU的寻址大小是2n(B) 平均存取时间T=寻道时间5ms+旋转等待时间+数据传输时间扇区 平均等待时间为盘片旋转一周所需时间的一半 4.内存地址编码 4.1容量=末地址-首地址+1 4.2末地址=容量+首地址-1 5.点阵字存储计算:点阵/8(例:24*24/8,单位B) 6.光驱数据传输速率:倍速*150KB/s 7.进制转换 7.1十转非十:整数(短除求余倒取),小数(乘进制,取整,顺取) 7.2非十转十:按权展开求和(权*基数n-1) 7.32与8关系:一位8进制转为3位2进制,3位2进制转为一位8进制(421法) 7.42与16:一位16进制转为4位2进制,4位2进制转为一位16进制(8421法) 8.二进制算术运算 8.1加法:逢二进一 8.2减法:借一位算二 9.二进制逻辑运算 9.1逻辑或:有1得1,全0得0 逻辑加V 9.2逻辑与:有0得0,全1得1 逻辑乘 9.3异或:相同时为0,不同时为1 10.无符号整数表示:0-[2n-1] 11.有符号整数原码表示:[-2n-1+1,+2n-1-1] 12.有符号整数补码表示:[-2n-1,+2n-1-1] 13.有符号整数二进制原码:该十进制的八位二进制原码,正数最高位置0,负数最高位置1 14.有符号整数二进制补码:该十进制的八位二进制原码后,反码,末尾+1 15.每类IP地址可用主机数量:2主机号二进制位数-2 16.ASCII编码计算:A(65,41H),a(97,61H),两者相差32(20H)

计算机进制换算

表1-1 几种常用进制之间的对照关系 十进制二进制八进制十六进制 0 0000 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 1、将(1111101100.0001101)2转换成十六进制数。 0011 1110 1100 . 0001 1010 ↓↓↓↓↓↓ 3 E C . 1 A 结果为:(1111101100.0001101)2=(3EC.1A)16 2、(1101100.111)2=1×26+1×25+1×23+1×22+1×2-1+1×2-2+1×2-3 =64+32+8+4+0.5+0.25+0.125 =(108.875)10 3、十进制数215用二进制数表示是 A)1100001 B)1101001 C)0011001 D)11010111 【答案】D 【解析】十进制向二进制的转换前面已多次提到,这一点也是大纲要求重点掌握的。

采用"除二取余"法。 4、十六进制数34B对应的十进制数是 A)1234 B)843 C)768 D)333 【答案】B 【解析】十六进制数转换成十进制数的方法和二进制一样,都是按权展开。 5、二进制数0111110转换成十六进制数是 A)3F B)DD C)4A D)3E 【答案】D 【解析】二进制整数转换成十六进制整数的方法是:从个位数开始向左按每4位二进制数一组划分,不足4位的前面补0,然后各组代之以一位十六进制数字即可。 6、二进制数10100101011转换成十六进制数是 A)52B B)D45D C)23C D)5E 【答案】A 【解析】二进制整数转换成十六进制整数的方法是:从个位数开始向左按每4位二进制数一组划分,不足4位的前面补0,然后各组代之以一位十六进制数字即可。 7、二进制数1234对应的十进制数是 A)16 B)26 C)34 D)25 【答案】B 【解析】二进制数转换成十进制数的方法是按权展开。

计算机进制转换

计算机进制转换 进制转换 10进制转换成其他的都是除以要转换成的那个数,也就是说转 换成二进制的就除以2,转换成八进制的就除以8,转换成十六 进制的就除以16,然后倒取余数。具体例题如下 10---2:把20转换成二进制20/2=10..........余数为0 10/2=5...........余数为0 5/2=2............余数为1 2/2=1............余数为0 1/2=0............余数为1 则20换成二进制后是10100 10---8:把20转换成八进制 20/8=2...........余数为4 2/8=0............余数为2 则20转换成八进制后是24 10---16:把20转换成十六进制 20/16=1..........余数为4 1/16=0...........余数为1 则20转换成十六进制后是14 2---10:把二进制数1101转换成十进制 1101=1*2的0次方+0*2的1次方+1*2的2次方+1*2的3次方 =13 则1101变成十进制后是13 8---10:把八进制数1340转换成十进制

1340=0*8的0次方+4*8的1次方+3*8的2次方+1*8的3次方=736 则1340变成十进制后是736 16---10:把十六进制数3A4F转换成十进制 3A4F=15*16的0次方+4*16的1次方+10*16的2次方+3*16的3次方=14927 (十六进制中的A是10,F是15) 二进制与八进制的相互转换: 八进制数 0 1 2 3 4 5 6 7 二进制数 000 001 010 011 100 101 110 111 二进制与十六进制的相互转换: 十六进制 0 1 2 3 4 5 6 7 B 二进制数 0000 0001 0010 0011 0100 0101 0110 0111 1011

计算机进制之间的转换

计算机中常用的数制 一、几种常用的进位计数制 1.十进制 (10个基本数码:0、1、2、3、4、5、6、7、8、9) 2.二进制(2个基本数码:0、1) 3.八进制(8个基本数码:0、1、2、3、4、5、6、7) 4.十六进制(16个基本数码:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F)二、计算机常用的各种进制数的特点 三、不同进位计数制间数据的转化 1.二进制数转换成十进制数 方法:采用每位二进制数乘以相应位的基数幂再相加。 注意:整数部分权由0,1,2依次展开,小数部分权由-1,-2依次展开。遇0时可以省略,因为0乘以任何数都为0。 例题:把二进制111010和101.101转换成十进制数。 (111010)2=1ⅹ25+1ⅹ24+1ⅹ23+1ⅹ21=(58)10 (101.101)2=1ⅹ22+1ⅹ20+1ⅹ2-1+1ⅹ2-3=(5.625)10

2.十进制数转换成二进制数 方法:整数部分“除2取余法”,小数部分“乘2取整法” 注意:整数部分在取余数时,从后向前取,小数部分从前向后取。例题:把十进制205.8125转换成二进制数。 整数部分205转换过程如下:小数部分0.8125转换过程如下: (205.8125)10=(11001101.1101)2

3.十进制数转换成八进制数 方法:整数部分“除8取余法”,小数部分“乘8取整法” 注意:整数部分在取余数时,从后向前取,小数部分从前向后取。例题:把十进制1645.6875转换成八进制数。 (1645.6875)10=(3155.54)8

4.十进制数转换成十六进制数 方法:整数部分“除16取余法”,小数部分“乘16取整法” 注意:整数部分在取余数时,从后向前取,小数部分从前向后取。例题:把十进制205.21875转换成十六进制数。 (205.21875)10=(CD.38)16

相关文档