zoukankan      html  css  js  c++  java
  • 计算机进制转换

    目录:

      一、引言

      二、进制简介

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

      四、其他

    一、引言

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

      

  • 相关阅读:
    多线程-工作组模式
    iOS端架构、基本组成与使用说明
    iOS,Core Animation--负责视图的复合功能
    Container Views
    IOS UIView 01-View开始深入 绘制像素到屏幕上
    View Programming Guide for iOS
    UI绘图与信息、样式
    iOS绘图框架CoreGraphics分析
    iOS开发系列--打造自己的“美图秀秀”
    Array与NSArray关系
  • 原文地址:https://www.cnblogs.com/schut/p/10478759.html
Copyright © 2011-2022 走看看