计算机语言中二进制,八进制,十进制,十六进制之间具体的关系是怎样的?

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-02
计算机二进制、八进制、十进制、十六进制的转换原理是什么?

这就是计算机(微机)原理中的数制转换内容!!所谓2进制就是逢2进1,我们最熟悉的是10进制,即逢10进1,比如:0,1,2,3,4,5,6,7,8,9,然后进1就是:10,11,12,13……,所以2进制就是:0,1,10,11,100,101,110,111……同样的比较常用的还有八进制、十六进制等,基本都是在计算机中使用的。
各数制间的转换其实都一个道理,但本质一样,你说的那是10到2的转换,从2到10更简单:每个数乘以2的N次方,比如:(11)到10就是:1*2+1=3。平常说的"8421"码其实就是2到10的转换.在这里说不清,你看下面讲解或者找本"微机原理"就有!!

四、数制间的转换规则
1.十进制数与非十进制数之间的转换
(1)十进制数转换成非十进制数
把一个十进制数转换成非十进制数(基数记作R)分成两步.整数部分转换时采用“除R取余法”;小数部分转换时采用“乘R取整法”。
(2)非十进制数转换成十进制数
非十进制数(基数记作R,第j个数位的位权记作Rj)转换成十进制数的方法:按权展开求其和。
2.非十进制数之间的转换
(1)二进制数与八进制数之间的转换
①二进制数转换成八进制数的方法.以小数点分界,整数部分自右向左、小数部分自左向右,每三位一组,不足三位时,整数部分在高位左边补0,小数部分在低位右边补0,然后写出对应的八进制数码。
②八进制数转换成二进制数的方法:用八进制数码对应的三位二进制数代替八进制数码本身即可。
(2)二进制数与十六进制数之间的转换
①二进制数转换成十六进制数的方法:以小数点分界,整数部分自右向左、小数部分自左向右,每四位一组,不足四位时,整数部分在高位左边补0,小数部分在低位右边补0,然后写出对应的十六进制数码。
②十六进制数转换成二进制数的方法:用十六进制数码对应的四位二进制数代替十六进制数码本身即可。
五、例题讲解
例1 将十进制数59.625转换成二进制是 。(2000年题)
(1)本题的正确思维及答案:一个十进制数转换成二进制数时,整数和小数部分要分别考虑。另外,若能熟练记忆下表,利用二进制转换成十进制时的展开式,就可以直接写出对应的二进制数。
20 1 25 32 2-1 0.5
21 2 26 64 2-2 0.25
22 4 27 128 2-3 0.125
23 8 28 256 2-4 0.0625
24 16 29 512 2-5 0.03125
答案:111011.101
(2)学生易犯的错误:小数的转换方法不清楚及运算不熟练。
(3)此题的拓展及变题:
a.二进制数1011.1010可转化为十进制数 C 。(1998年题)。
A)11.8 B)11.125 C)11.625 D)11.525
b.十进制数329可转化为八进制数 A 。(1998年题)
A)511 B)501 C)411 D)401
c.十进制数0.8125的二进制数表示为 B (1999年题)。
A)0.1011 B)0.1101 C)0.1111 D)0.1001
d.八进制数34.54的二进制数表示为 A (1999年题)
A)011100.101100 B)101100.011100
C)100011.100101 D)011100.001011
e.任何一个十进制小数都能精确地转化为二进制小数,反之亦然。(2001年题)------------------(错)
例2:假设7×7的结果值在某种进制下可表示为61,则6×7的结果值相应地表示为 。(2001年题)
(1)本题的正确思维及答案:本题考查的知识点是数制转换,但要求考生能熟练应用基数的概念。已知7×7=49D,可设61为R进制数,根据R进制数转换为十进制数的规则,可得方程:6×R+1=49,即R=8;最后将6×7的结果42D转换为八进制数即可。答案:52
(2)学生易犯的错误:不能正确理解题意,甚至看不懂题目。
(3)此题的拓展及变题:一个数是152,它对应的十六进制数与6AH相等,该数是 B 。
A)二进制数 B)八进制数 C)十六进制数 D)十进制数
例3 若X=1011B,Y=1101B,则X、Y两数进行逻辑或运算的结果为 。
(1)本题的正确思维及答案:本题考查的知识点是二进制数的逻辑运算,考生应掌握以下两点:首先逻辑运算是按位独立运算,其次是或运算的规则。答案:1111
(2)学生易犯的错误:不能正确区分或与加操作的区别。
(3)此题的拓展及变题:二进制代码01011000和11001010“与”运算的结果再与10100110进行“或”运算,其结果为 C 。
A)10100010 B)11011110 C)11101110 D)10010101
例4下列四个不同进制的数中,其值最大的是 。
A)0CAH B)310Q C)201D D)11001011B
(1)本题的正确思维及答案:本题考查的知识点是各进制数的转换方法。解题的基本方法是将各进制数转换为同一进制数(如十进制数),然后再比较大小。
答案:D
(2)学生易犯的错误:缺乏解题的思路及不能正确完成进制数之间的转换。
(3)此题的拓展及变题:
a.十六进制数327与 A 相等。
A)807 B)897 C)143Q D)243Q
b.下列这组数据中最小数是 C 。(2002年题)
A)11011001B B)75 C)37Q D)2A6H

一。进制概念

1。 十进制

十进制使用十个数字(0、1、2、3、4、5、6、7、8、9)记数,基数为10,逢十进一。

历史上第一台电子数字计算机ENIAC是一台十进制机器,其数字以十进制表示,并以十进制形式运算。设计十进制机器比设计二进制机器复杂得多。而自然界具有两种稳定状态的组件普遍存在,如开关的开和关,电路的通和断,电压的高和低等,非常适合表示计算机中的数。设计过程简单,可靠性高。因此,现在改为二进制计算机。

2。 二进制

二进制以2为基数,只用0和1两个数字表示数,逢2进一。

二进制与遵循十进制数遵循一样的运算规则,但显得比十进制更简单。例如:

(1)加法:0+0=0 0+1=1 1+0=1 1+1=0

(2)减法:0-0=0 1-1=01-0=1 0-1=1

(3)乘法:0*0=0 0*1=01*0=0 1*1=1

(4)除法:0/1=0 1/1=1,除数不能为0

3。 八进制

所谓八进制,就是其基数为8,基数值可以取0、1、2、3、4、5、6、7共8个值,逢八进一。

八进制与十进制运算规则一样。那么为什么要用八进制呢?难道要设计八进制的计算机么?实际上,八进制与十六进制的引用,主要是为了书写和表示方便,因为二进制表示位数比较长。如:(1024)10 用二进制表示为 (10000000000)2,共有11个数字,用八进制表示为(2000)8。更重要的是,由于二进制与八进制存在在一种对等关系,每三位二进制与一位八进制数完全对等(23=8)。所以二进制和十进制在运算上无区别,而时进制不具备这一优点。

4。 十六进制

十六进制应用也是非常广泛的一种计数制。在使用者看来,十六进制是二进制数的一种更加紧凑的一种表示方法。

基数为:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,逢十进一。在十六进制系统中,数值为10到15的数分别用A、B、C、D、E、F表示。

二进制数及与之等值的八进制、十进制和十六进制数

二进制 八进制 十进制 十六进制
0000 0 0 0
0001 1 1 1
0010 2 2 2
0011 3 3 3
0100 4 4 4
0101 5 5 5
0110 6 6 6
0111 7 7 7
1000 10 8 8
1001 11 9 9
1010 12 10 A
1011 13 11 B
1100 14 12 C
1101 15 13 D
1110 16 14 E
1111 17 15 F


二。进制转换

1。二进制与十进制数间的转换

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

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

把二进制数(101.101)2=1*22+0*21+1*20+1*2-1+0*2-2+1*2-3=(5.625)10

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

一般需要将十进制数的整数部分与小数部分分开处理。

整数部分计算方法:除2取余法请看例题:

十进制数(53)10的二进制值为(110101)2

小数部分计算方法:乘2取整法,即每一步将十进制小数部分乘以2,所得积的小数点左边的数字(0或1)作为二进制表示法中的数字,第一次乘法所得的整数部分为最高位。请看例题:

将(0.5125)10转换成二进制。(0.5125)10=(0.101)2

2。 八进制、十六进制与十六进制间的转换

八进制、十六进制与十六进制之间的转换方法与二进制,同十进制之间的转换方法类似。例如:

(73)8=7*81+3=(59)10

(0.56)8=5*8-1+6*8-2=(0.71875)10

(12A)16=1*162+2*161+A*160=(298)10

(0.3C8)16=3*16-1+12*16-2+8*16-3=(0.142578125)10

十进制整数→→→→→八进制方法:“除8取余”

十进制整数→→→→→十六进制方法:“除16取余” 例如:

(171)10=(253)8

(2653)10=(A5D)16

十进制小数→→→→→八进制小数 方法:“乘8取整”

十进制小数→→→→→十六进制小数方法:“乘16取整”例如:

(0。71875)10=(0.56)8

(0.142578125)10=(0.3C8)16

3.非十进制数之间的转换

(1)二进制数与八进制数之间的转换

转换方法是:以小数点为界,分别向左右每三位二进制数合成一位八进制数,或每一位八进制数展成三位二进制数,不足三位者补0。例如:

(423。45)8=(100 010 011.100 101)2

(1001001.1101)2=(001 001 001.110 100)2=(111.64)8

2。二进制与十六进制转换

转换方法:以小数点为界,分别向左右每四位二进制合成一位十六进制数,或每一位十六进制数展成四位二进制数,不足四位者补0。例如:

(ABCD。EF)16=(1010 1011 1100 1101.1110 1111)2

(101101101001011.01101)2=(0101 1011 0100 1011.0110 1000)2=(5B4B。68)16

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

二进制是计算机内部所有数据的存储方式。
八进制,十进制,十六进制 是人能识别的数据格式。
一般来说,通常的二进制,八进制,十进制,十六进制。

是指存储在字符串里的二进制,八进制,十进制,十六进制。

十进制有字符串表示的十进制,BCD码表示的十进制(又分压缩和非压缩BCD)!

字符串的二进制,八进制,十进制,十六进制是给人看的!
BCD码表示的十进制是计算机使用的!
计算机内部数据不再有二进制,八进制,十六进制的区别,都是二进制,只有十进制用BCD码。
二进制逢2进1,,八进制,十进制,十六进逢8进1 ,逢10进1,逢16进1
N进制逢N进1
二进制 八进制 十进制 十六进制
0 : 0000 0000 00 0 0
1 : 0000 0001 01 1 1
2 : 0000 0010 02 2 2
3 : 0000 0011 03 3 3
4 : 0000 0100 04 4 4
5 : 0000 0101 05 5 5
6 : 0000 0110 06 6 6
7 : 0000 0111 07 7 7
8 : 0000 1000 010 8 8
9 : 0000 1001 011 9 9
10 : 0000 1010 012 10 A
11 : 0000 1011 013 11 B
100: 0110 0100 144 100 64
十六进制用字母ABCDEF 或者 abcdef分别表示 10,11,12,13,14,15
C语言的表达式里 8进制前面加0 ,16进制前加0x;没有二进制的表示方法。
在字符串里和字符里反斜杆\nnn表示8进制, \xnnn 表示16进制;
C语言,因为字符是整数的一种,所以可以直接用数值,表示字符的值!!
char c=‘a';和char c=97 等价!

二进制就是逢二进一,0+0=0,0+1=1,1+1=10
八进制就是逢八进一,0+0=0,0+1=1,。。。。6+1=7,7+1=10,6+2=10.。。
十进制就是逢十进一,9+1=10,8+2=10,7+3=10.。。
十六进制就是逢十六进一,10-15用A-F表示,10=A,11=B,12=C,13=D,14=E,15=F
A+6=16=10,7+9=16=10

逢N进1!!!

  • 进制转换:二进制、八进制、十进制、十六进制相互转换
    答:将二进制、八进制、十六进制转换为十进制。二进制、八进制和十六进制向十进制转换都非常容易,就是“按权相加”。所谓“权”,也即“位权”。 假设当前数字是 N 进制,那么: 对于整数部分,从右往左看,第 i 位的位权等于Ni-1 对于小数部分,恰好相反,要从左往右看,第 j 位的位权为N-j。 更加通俗的理解是,...
  • 计算机里的二进制、十六进制、十八进制是怎么一回事啊?
    答:二进制,八进制十进制十六进制之间数据转换 十进制转二进制(整数及小数部分):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...
  • 二进制、十进制、八进制、十六进制各代表什么
    答:二进制、十进制、八进制、十六进制 各代表的英文字母是什么 二进制是Binary,简写为B 户进制是Octal,简写为O 十进制为Decimal,简写为D 十六进制为Hexadecimal,简写为H 二进制在计算机编程中用哪个字母表示?二进制的没有。%d以十进制数形式输出整数,%o以八进制数形式输出整数,%x以十六进制数形式...
  • 计算机二进制、八进制、十进制、十六进制的转换原理是什么?
    答:这就是计算机(微机)原理中的数制转换内容!!所谓2进制就是逢2进1,我们最熟悉的是10进制,即逢10进1,比如:0,1,2,3,4,5,6,7,8,9,然后进1就是:10,11,12,13……,所以2进制就是:0,1,10,11,100,101,110,111……同样的比较常用的还有八进制、十六进制等,基本都是在计算机中使用的...
  • 二进制、八进制、十六进制、十进制转换详解
    答:十进制到二进制</ 从十进制到二进制,整数部分通过除2取余法,例如11除以2得到1011。小数部分则通过乘2取进,如0.3125成为0.0101,这两个过程揭示了数字转换的奥秘。进制间的快速转换</ 二进制、八进制、十六进制的转换巧妙,如二进制10110101,通过进制的倍数关系(八进制3位等于二进制9位,十六...
  • 怎么区别十进制,二进制,八进制和十六进制?
    答:在书本中:加B(Binary)表示 二进制,O(Octal)表示八进制,D(Decimal)或不加表示十进制,H(Hexadecimal)表示十六进制。在C语言里:整数有三种表示形式:十进制,八进制,十六进制。1.十进制:除表示正负的符号外,以1~9开头,由0~9组成。如,128,+234,-278。2,八进制:以0开头,由0~7组成的...
  • C语言中怎样区分八进制,十进制,二进制?
    答:在C语言里,整数有三种表示形式:十进制,八进制,十六进制。其中以数字0开头,由0~7组成的数是八进制。以0X或0x开头,由0~9,A~F或a~f 组成是十六进制。除表示正负的符号外,以1~9开头,由0~9组成是十进制。1.十进制:除表示正负的符号外,以1~9开头,由0~9组成。如,128,+234,-278...
  • 什么是二进制,八进制,十进制,十六进制数啊
    答:二进制是到2进位:组成数字只有0、1 八进制是到8进位:组成数字是0、1、2、3、4、5、6、7 十进制是到10进位:组成数字是0、1、2、3、4、5、6、7、8、9 十六进制是到16进位组成数字是:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 比如一个十进制数:17,用二进制表示就...
  • 2进制,8进制,16进制和10进制是什么?
    答:二进制是世界上第一台计算机上用的算法,最古老的计算机里有一个个灯泡,当运算的时候,比如要表达“一”,第一个灯泡会亮起来。要表达“二”,则第一个灯泡熄灭,第二个灯泡就会亮起来。随着科技的发展,二进制已经被“八进制”、“十六进制”取代了 一、二进制数转换成十进制数 由二进制数转换成...
  • 计算机二进制十进制八进制十六进制的转换
    答:1、二进制、八进制、十六进制转换为十进制。方法:按权展开求和。2、十进制转换为二进制、八进制、十六进制进制。方法:整数部分采用除基数取余法。3、二进制转换为八进制、十六进制。4、八进制、十六进制转换为二进制。进制转换是人们利用符号来计数的方法。进制转换由一组数码符号和两个基本因素“基数...