目录:
一、引言
二、进制简介
三、二进制和十六进制的转换
四、其他
一、引言
对于进制,我们都很熟悉,生活中比如时间,每60秒钟进一分钟,每60分钟进一小时,每12个月进一年等;比如在数学里,10进制用得最多;计算机里常用的就是二进制、八进制和十六进制,其中最常用的又非二进制和十六进制莫属了,下面我们一起来学习一下计算机的进制是怎么一回事。
二、进制简介
1、二进制
(1)二进制简介
提到计算机进制,就不得不说二进制,二进制是计算技术中广泛采用的一种数制。
二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。
计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。
二进制英文是Binary,简写为B。
说到二进制,就不得不提到ASCII表,全称 American Standard Code for Information Interchange(即美国信息交换标准代码),是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧。它是现今最通用的系统,并等同于国际标准ISO/IEC 646。具体内容如下图(图片来源于百度百科):
(2)二进制表示方法
十进制 0 1 2 3 4 5 6 7 8 9
二进制 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
2、八进制
(1)八进制简介
八进制,Octal,缩写OCT或O,一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。一些编程语言中常常以数字0开始表明该数字是八进制。八进制的数和二进制数可以按位对应(八进制一位对应二进制三位),因此常应用在计算机语言中。
由于十六进制一位可以对应4位二进制数字,用十六进制来表示二进制较为方便。因此,八进制的应用不如十六进制。有一些程序设计语言提供了使用八进制符号来表示数字的能力,而且还是有一些比较古老的Unix应用在使用八进制。
八进制英文是Octal,简写为O。
(2)八进制表示方法
二进制 八进制
001 1
010 2
100 4
111 7
1000 10
3、十六进制
(1)十六进制简介
十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制。一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,这些称作十六进制数字。如今的16进制则普遍应用在计算机领域,这是因为将4个位元(Bit)化成单独的16进制数字不太困难。1字节可以表示成2个连续的16进制数字。本质上,十六进制也是二进制,但是是二进制的一种优化,在表示和阅读上较二进制方便许多。
十六进制英文为Hexadecimal,简写为H。
(2)十六进制表示方法
二进制 十六进制
0000 0001 1
0000 1000 8
0001 1100 1C
1000 1111 8F
三、二进制和十六进制的转换
1、十六机制与十进制的对应关系:
十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F
2、十六进制与二进制的对应关系:
十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F
二进制 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
更直观的对应关系,见下图所示:
3、二进制转十六进制的方法
方法为“ 取四合一法 ”,即从二进制的小数点为分界点,向左(或向右)每四位取成一位。
比如:
每四个二进制位看成一个十六进制位 ,如下:
二进制 1010 1000 1100.1000
十六进制 A 8 C 8
则此二进制数转成十六进制的表示:A8C8
这里需要注意的是,在向左(或向右)取四位时,取到最高位(最低位)如果无法凑足四位,就可以在小数点的最左边(或最右边)补0,再进行换算。
每四个二进制位看成一个十六进制位 ,如下:
二进制 10 1000 1100.10 --> 0010 1000 1100.1000
十六进制 2 8 C 8
则此二进制数转成十六进制的表示:28C8
十六进制的表示法,用字母 H 后缀表示,比如BH就表示十六进制数11;也可以用0X前缀表示,比如0X23就是16进制的23,以此类推。
十六进制前缀表示法( 0x ):0x23 对应16进制的 23
十六进制后缀表示法( H ):AH 对应16进制的 A
4、十六进制转二进制的方法
此时,转换方法反过来了,变成了" 一分四法 ",即一个十六进制数分成四个二进制数,用四位二进制按权相加,最后得到二进制,小数点位置不变。
十六进制 A2.B3
十六进制 二进制
A 1010
2 0010
. .
B 1011
3 0011
最后合在一起:1010 0010.1011 0011
四、其他