二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。

二进制是一种非常古老的进位制,由于在现代被用于电子计算机中,而旧貌换新颜变得身价倍增起来。

在现实生活和记数器中,如果表示数的“器件”只有两种状态,如电灯的“

“亮”与“灭”,开关的“开”与“关”。一种状态表示数码0,另一种状态表示数码1,1加1应该等于2,因为没有数码2,只能向上一个数位进一,就是采用“满二进一”的原则,这和十进制是采用“满十进一”原则完全相同。

1 1=10,10 1=11,11 1=100,100 1=101,

101 1=110,110 1=111,111 1=1000,……,

可见二进制的10表示二,100表示四,1000表示八,10000表示十六,……。

二进制同样是“位值制”。同一个数码1,在不同数位上表示的数值是不同的。如11111,从右往左数,第一位的1就是一,第二位的1表示二,第三位的1表示四,第四位的1表示八,第五位的1表示十六。用大家熟悉的十进制说明这个二进制数的含意,有以下关系式

(11111)(二进制)=1×2^4 1×2^3 1×2^2 1×2 1^0(十进制)(^代表次方,例如:1的2次方等于1^2)

一个二进制整数,从右边第一位起,各位的计数单位分别是1,2,22,23,…,2n,…。

计算机中的二进制

计算机内部之所以采用二进制,其主要原因是二进制具有以下优点:

(1)技术上容易实现。用双稳态电路表示二进制数字0和1是很容易的事情。

(2)可靠性高。二进制中只使用0和1两个数字,传输和处理时不易出错,因而可以保障计算机具有很高的可靠性。

(3)运算规则简单。与十进制数相比,二进制数的运算规则要简单得多,这不仅可以使运算器的结构得到简化,而且有利于提高运算速度。

(4)与逻辑量相吻合。二进制数0和1正好与逻辑量“真”和“假”相对应,因此用二进制数表示二值逻辑显得十分自然。

(5)二进制数与十进制数之间的转换相当容易。人们使用计算机时可以仍然使用自己所习惯的十进制数,而计算机将其自动转换成二进制数存储和处理,输出处理结果时又将二进制数自动转换成十进制数,这给工作带来极大的方便。

各进制相互转换

计算机中常用的数的进制主要有:二进制、八进制、十六进制。

  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。字母不区分大小写。

  以下简介各种进制之间的转换方法:

二进制转换十进制

二进制数第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

公式:第N位2(N)

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

100

用横式计算为:

0 * 20 0 * 21 1 * 22 0 * 23 0 * 24 1 * 25 1* 26 0 * 27 = 100

除0以外的数字0次方都是1,但0乘以多少都是0,所以我们也可以直接跳过值为0的位:

1 * 22 1 * 25 1*26 = 100

二进制换算八进制

  例:二进制的“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

八进制数转换为十进制数

八进制就是逢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进制

  例:2AF5换算成10进制

第0位: 5 * 160 = 5

第1位: F * 161 = 240

第2位: A * 162 = 2560

第3位: 2 * 163 = 8192

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

10997

直接计算就是:

5 * 160 F * 161 A * 162 2 * 163 = 10997

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

十进制转二进制

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

  例: (53)10=(110101)2

各种进制数据转换规则(自动化进制转换知识点)(1)

十进制转二进制;二进制的基为2,n进制的基为n。

八进制与二进制的转换

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

十六进制与二进制的转换

  例:将十六进制数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

十进制转八进制

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

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

用表格表示:

被除数

计算过程

余数

120

120/8

15

0

15

15/8

1

7

1

1/8

0

1

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

注:在实际过程中为了方便快速的转换各进制,建议使用电脑计算器或程序员计算器,在此只做了解原理和方法。

,