计算机进制转换

目录:

  一、引言

  二、进制简介

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

  四、其他

 

一、引言

  对于进制,我们都很熟悉,生活中比如时间,每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

 

四、其他

  参考文章:https://jingyan.baidu.com/article/47a29f24292608c0142399cb.html

  

posted @ 2019-03-05 18:39  暮光微凉  阅读(8477)  评论(0编辑  收藏  举报