精华内容
下载资源
问答
  • 本文实例讲述了PHP实现十进制、二进制、八进制和十六进制转换相关函数用法。分享给大家供大家参考,具体如下: 1.二进制: 1.1.二进制转十进制: 函数:bindec(string $binary_string) @param $binary_string 参数...
  • 本表格适合单片机编程人员使用,可以自由的从2进制转换成16进制,从16进制转换成2进制
  • 二进制十六进制转换表

    千次阅读 2019-10-04 01:28:25
    原文:http://suishoujie.blog.163.com/blog/static/60628058200841552235617/ 十六进制、十进制、二进制转换: 十进制转二进制方法:8421法 例如:把10010110转换成十进制 128 64 32 16 8 4 2...

    原文:http://suishoujie.blog.163.com/blog/static/60628058200841552235617/

    十六进制、十进制、二进制转换:

    十进制转二进制方法:8421法

    例如:把10010110转换成十进制

                                       128  64  32  16  8  4  2  1

                                       1    0   0   1   0  1  1  0

    把与1对应十进制数相加便得出10010110的十进制数150

    反之150也可用此法转换成二进制数

    1    0   0   1   0  1  1  0

    128  64  32  16  8  4  2  1

    注意:在列此公式时,后面的数总是前面一位数的倍数,转150时,填写的十进制数不能比150大,然后用加减法算出X+X+X+X=150,’X’对应二进制数的1,其它空位用0补齐即可.

    二进制转十六进制法:我们也以10010110为例,

                                       8    4    2  1   8  4  2  1

                                       1    0   0   1   0  1  1  0

    把二进制数1对应的十进制数每四位相加为一位十六进制数96

     


     

    十六进制

     

    十进制

     

    二进制

     

    0

     

    0

     

    0000

     

    1

     

    1

     

    0001

     

    2

     

    2

     

    0010

     

    3

     

    3

     

    0011

     

    4

     

    4

     

    0100

     

    5

     

    5

     

    0101

     

    6

     

    6

     

    0110

     

    7

     

    7

     

    0111

     

    8

     

    8

     

    1000

     

    9

     

    9

     

    1001

     

    A

     

    10

     

    1010

     

    B

     

    11

     

    1011

     

    C

     

    12

     

    1100

     

    D

     

    13

     

    1101

     

    E

     

    14

     

    1110

     

    F

     

    15

     

    1111

       

    转载于:https://www.cnblogs.com/LittleRedPoint/p/3799015.html

    展开全文
  • 二进制进制十六进制数值对照,便于PLC编程转换,代码熟悉学习工具文档。
  • 二进制、八进制、十六进制转换为十进制 二进制、八进制和十六进制向十进制转换都非常容易,就是“按权相加”。所谓“权”,也即“位权”。 假设当前数字是N进制,那么: 对于整数部分,从右往左看,第i位的位权...

    进制转换:二进制、八进制、十六进制、十进制之间的转换

    不同进制之间的转换在编程中经常会用到,尤其是C语言。

    将二进制、八进制、十六进制转换为十进制

    二进制、八进制和十六进制向十进制转换都非常容易,就是“按权相加”。所谓“权”,也即“位权”。

    假设当前数字是N进制,那么:

    对于整数部分,从右往左看,第i位的位权等于Ni-1

    对于小数部分,恰好相反,要从左往右看,第j位的位权为N-j

    更加通俗的理解是,假设一个多位数(由多个数字组成的数)某位上的数字是1,那么它所表示的数值大小就是该位的位权。

    1) 整数部分

    例如,将八进制数字53627转换成十进制:

    53627 = 5×84 + 3×83 + 6×82 + 2×81 + 7×80 = 22423(十进制)

    从右往左看,第1位的位权为 80=1,第2位的位权为 81=8,第3位的位权为 82=64,第4位的位权为 83=512,第5位的位权为 84=4096 …… n位的位权就为 8n-1。将各个位的数字乘以位权,然后再相加,就得到了十进制形式。

    注意,这里我们需要以十进制形式来表示位权。

    再如,将十六进制数字9FA8C转换成十进制:

    9FA8C = 9×164 + 15×163 + 10×162 + 8×161 + 12×160 = 653964(十进制)

    从右往左看,第1位的位权为160=1,第2位的位权为 161=16,第3位的位权为 162=256,第4位的位权为 163=4096,第5位的位权为 164=65536 …… n位的位权就为16n-1。将各个位的数字乘以位权,然后再相加,就得到了十进制形式。

    将二进制数字转换成十进制也是类似的道理:

    11010 = 1×24 + 1×23 + 0×22 + 1×21 + 0×20 = 26(十进制)

    从右往左看,第1位的位权为20=1,第2位的位权为21=2,第3位的位权为22=4,第4位的位权为23=8,第5位的位权为24=16 …… n位的位权就为2n-1。将各个位的数字乘以位权,然后再相加,就得到了十进制形式。

    2) 小数部分

    例如,将八进制数字423.5176转换成十进制:

    423.5176 = 4×82 + 2×81 + 3×80 + 5×8-1 + 1×8-2 + 7×8-3 + 6×8-4 = 275.65576171875(十进制)

    小数部分和整数部分相反,要从左往右看,第1位的位权为 8-1=1/8,第2位的位权为 8-2=1/64,第3位的位权为 8-3=1/512,第4位的位权为 8-4=1/4096 …… m位的位权就为 8-m

    再如,将二进制数字 1010.1101 转换成十进制:

    1010.1101 = 1×23 + 0×22 + 1×21 + 0×20 + 1×2-1 + 1×2-2 + 0×2-3 + 1×2-4 = 10.8125(十进制)

    小数部分和整数部分相反,要从左往右看,第1位的位权为 2-1=1/2,第2位的位权为 2-2=1/4,第3位的位权为 2-3=1/8,第4位的位权为 2-4=1/16 …… m位的位权就为 2-m

    更多转换成十进制的例子:

    二进制:1001 = 1×23 + 0×22 + 0×21 + 1×20 = 8 + 0 + 0 + 1 = 9(十进制)

    二进制:101.1001 = 1×22 + 0×21 + 1×20 + 1×2-1 + 0×2-2 + 0×2-3 + 1×2-4 = 4 + 0 + 1 + 0.5 + 0 + 0 + 0.0625 = 5.5625(十进制)

    八进制:302 = 3×82 + 0×81 + 2×80 = 192 + 0 + 2 = 194(十进制)

    八进制:302.46 = 3×82 + 0×81 + 2×80 + 4×8-1 + 6×8-2 = 192 + 0 + 2 + 0.5 + 0.09375= 194.59375(十进制)

    十六进制:EA7 = 14×162 + 10×161 + 7×160 = 3751(十进制)

    将十进制转换为二进制、八进制、十六进制

    将十进制转换为其它进制时比较复杂,整数部分和小数部分的算法不一样,下面我们分别讲解。

    1) 整数部分

    十进制整数转换为N进制整数采用“N取余,逆序排列”法。具体做法是:

    N作为除数,用十进制整数除以N,可以得到一个商和余数;

    保留余数,用商继续除以N,又得到一个新的商和余数;

    仍然保留余数,用商继续除以N,还会得到一个新的商和余数;

    ……

    如此反复进行,每次都保留余数,用商接着除以N,直到商为0时为止。

    把先得到的余数作为N进制数的低位数字,后得到的余数作为N进制数的高位数字,依次排列起来,就得到了N进制数字。

    下图演示了将十进制数字36926转换成八进制的过程:

    http://c.biancheng.net/cpp/uploads/allimg/170915/1-1F9151J30K46.png

    从图中得知,十进制数字36926转换成八进制的结果为110076

    下图演示了将十进制数字42转换成二进制的过程:

    http://c.biancheng.net/cpp/uploads/allimg/170915/1-1F9151K641Z0.png

    从图中得知,十进制数字42转换成二进制的结果为101010

    2) 小数部分

    十进制小数转换成N进制小数采用“N取整,顺序排列”法。具体做法是:

    N乘以十进制小数,可以得到一个积,这个积包含了整数部分和小数部分;

    将积的整数部分取出,再用N乘以余下的小数部分,又得到一个新的积;

    再将积的整数部分取出,继续用N乘以余下的小数部分;

    ……

    如此反复进行,每次都取出整数部分,用N接着乘以小数部分,直到积中的小数部分为0,或者达到所要求的精度为止。

    把取出的整数部分按顺序排列起来,先取出的整数作为N进制小数的高位数字,后取出的整数作为低位数字,这样就得到了N进制小数。

    下图演示了将十进制小数0.930908203125转换成八进制小数的过程:

    http://c.biancheng.net/cpp/uploads/allimg/170918/1-1F91Q20520335.png

    从图中得知,十进制小数0.930908203125转换成八进制小数的结果为0.7345

    下图演示了将十进制小数0.6875 转换成二进制小数的过程:

    http://c.biancheng.net/cpp/uploads/allimg/170918/1-1F91QHI2I2.png

    从图中得知,十进制小数 0.6875 转换成二进制小数的结果为 0.1011

    如果一个数字既包含了整数部分又包含了小数部分,那么将整数部分和小数部分开,分别按照上面的方法完成转换,然后再合并在一起即可。例如:

    十进制数字 36926.930908203125 转换成八进制的结果为 110076.7345

    十进制数字 42.6875 转换成二进制的结果为 101010.1011

    下表列出了前17个十进制整数与二进制、八进制、十六进制的对应关系:

    十进制

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    二进制

    0

    1

    10

    11

    100

    101

    110

    111

    1000

    1001

    1010

    1011

    1100

    1101

    1110

    1111

    10000

    八进制

    0

    1

    2

    3

    4

    5

    6

    7

    10

    11

    12

    13

    14

    15

    16

    17

    20

    十六进制

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    A

    B

    C

    D

    E

    F

    10

    注意,十进制小数转换成其他进制小数时,结果有可能是一个无限位的小数。请看下面的例子:

    十进制0.51对应的二进制为0.100000101000111101011100001010001111010111...,是一个循环小数;

    十进制0.72对应的二进制为0.1011100001010001111010111000010100011110...,是一个循环小数;

    十进制0.625对应的二进制为0.101,是一个有限小数。

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

    其实,任何进制之间的转换都可以使用上面讲到的方法,只不过有时比较麻烦,所以一般针对不同的进制采取不同的方法。将二进制转换为八进制和十六进制时就有非常简洁的方法,反之亦然。

    1) 二进制整数和八进制整数之间的转换

    二进制整数转换为八进制整数时,每三位二进制数字转换为一位八进制数字,运算的顺序是从低位向高位依次进行,高位不足三位用零补齐。下图演示了如何将二进制整数 1110111100 转换为八进制:

    http://c.biancheng.net/cpp/uploads/allimg/170919/1-1F919102I0949.png

    从图中可以看出,二进制整数 1110111100 转换为八进制的结果为 1674

    八进制整数转换为二进制整数时,思路是相反的,每一位八进制数字转换为三位二进制数字,运算的顺序也是从低位向高位依次进行。下图演示了如何将八进制整数 2743 转换为二进制:

    http://c.biancheng.net/cpp/uploads/allimg/170919/1-1F919103A2R7.png

    从图中可以看出,八进制整数 2743 转换为二进制的结果为 10111100011

    2) 二进制整数和十六进制整数之间的转换

    二进制整数转换为十六进制整数时,每四位二进制数字转换为一位十六进制数字,运算的顺序是从低位向高位依次进行,高位不足四位用零补齐。下图演示了如何将二进制整数 10 1101 0101 1100 转换为十六进制:

    http://c.biancheng.net/cpp/uploads/allimg/170919/1-1F919104H9539.png

    从图中可以看出,二进制整数 10 1101 0101 1100 转换为十六进制的结果为 2D5C

    十六进制整数转换为二进制整数时,思路是相反的,每一位十六进制数字转换为四位二进制数字,运算的顺序也是从低位向高位依次进行。下图演示了如何将十六进制整数 A5D6 转换为二进制:

    http://c.biancheng.net/cpp/uploads/allimg/170919/1-1F91910553H50.png

    从图中可以看出,十六进制整数 A5D6 转换为二进制的结果为 1010 0101 1101 0110

    C语言编程中,二进制、八进制、十六进制之间几乎不会涉及小数的转换,所以这里我们只讲整数的转换,大家学以致用足以。另外,八进制和十六进制之间也极少直接转换,这里我们也不再讲解了。

    展开全文
  • 原创软件,MFC界面,可以任意转换64bit数据到2进制、10进制、16进制,2进制可以直接查看任意bit,取0~63之间的任意区间值,并且支持取位、移位大小端转换、加、减、bit与、或、非等等,尤其适合做嵌入式开发的相关...
  • //输出 11010 decbin (PHP 3, PHP 4, PHP 5) decbin — 十进制转换二进制 说明 string decbin ( int number ) 返回一字符串,包含有给定 number 参数的二进制表示。所能转换的最大数值为十进制的 4294967295,其...
  • 进制转换算法(Convert) (二、八、十六进制) → (十进制) 二进制 → 十进制 八进制 → 十进制 十六进制 → 十进制 (十进制) → (二、八、十六进制) 十进制 → 二进制 十进制 → 八进制...

    一.本文所涉及的内容(Contents)

                         目录

    一.本文所涉及的内容(Contents)

    二.背景(Contexts)

    三.进制转换算法(Convert)

    (一) (二、八、十六进制) → (十进制)

    (二) (十进制) → (二、八、十六进制)

    (三) (二进制) ↔ (八、十六进制)

    (四) (八进制) ↔ (十六进制)

    四.扩展阅读

    五.参考文献(References)


    二.背景(Contexts)

      之前使用SQL把十进制的整数转换为三十六进制,SQL代码请参考:SQL Server 进制转换函数,其实它是基于二、八、十、十六进制转换的计算公式的,进制之间的转换是很基础的知识,但是我发现网络上没有一篇能把它说的清晰、简单、易懂的文章,所以我才写这篇文章的念头,希望能让你再也不用担心、害怕进制之间的转换了。

      下面是二、八、十、十六进制之间关系的结构图:

    wpsC01D.tmp

    (Figure1:进制关系结构图)

    下文会分4个部分对这个图进行分解,针对每个部分会以图文的形式进行讲解:

    1. (二、八、十六进制) → (十进制);
    2. (十进制) → (二、八、十六进制);
    3. (二进制) ↔ (八、十六进制);
    4. (八进制) ↔ (十六进制);

    三.进制转换算法(Convert)

      在数字后面加上不同的字母来表示不同的进位制。B(Binary)表示二进制,O(Octal)表示八进制,D(Decimal)或不加表示十进制,H(Hexadecimal)表示十六进制。例如:(101011)B=(53)O=(43)D=(2B)H

    (一) (二、八、十六进制) → (十进制)

    wpsC01E.tmp

    (Figure2:其他进制转换为十进制)

    • 二进制 → 十进制

      方法:二进制数从低位到高位(即从右往左)计算,第0位的权值是2的0次方,第1位的权值是2的1次方,第2位的权值是2的2次方,依次递增下去,把最后的结果相加的值就是十进制的值了。

      例:将二进制的(101011)B转换为十进制的步骤如下:

    1. 第0位 1 x 2^0 = 1;

    2. 第1位 1 x 2^1 = 2;

    3. 第2位 0 x 2^2 = 0;

    4. 第3位 1 x 2^3 = 8;

    5. 第4位 0 x 2^4 = 0;

    6. 第5位 1 x 2^5 = 32;

    7. 读数,把结果值相加,1+2+0+8+0+32=43,即(101011)B=(43)D。

    • 八进制 → 十进制

      方法:八进制数从低位到高位(即从右往左)计算,第0位的权值是8的0次方,第1位的权值是8的1次方,第2位的权值是8的2次方,依次递增下去,把最后的结果相加的值就是十进制的值了。

      八进制就是逢8进1,八进制数采用 0~7这八数来表达一个数。

      例:将八进制的(53)O转换为十进制的步骤如下:

    1. 第0位 3 x 8^0 = 3;

    2. 第1位 5 x 8^1 = 40;

    3. 读数,把结果值相加,3+40=43,即(53)O=(43)D。

    • 十六进制 → 十进制

      方法:十六进制数从低位到高位(即从右往左)计算,第0位的权值是16的0次方,第1位的权值是16的1次方,第2位的权值是16的2次方,依次递增下去,把最后的结果相加的值就是十进制的值了。

      十六进制就是逢16进1,十六进制的16个数为0123456789ABCDEF。

      例:将十六进制的(2B)H转换为十进制的步骤如下:

    1. 第0位 B x 16^0 = 11;

    2. 第1位 2 x 16^1 = 32;

    3. 读数,把结果值相加,11+32=43,即(2B)H=(43)D。

    (二) (十进制) → (二、八、十六进制)

    wpsC01F.tmp

    (Figure3:十进制转换为其它进制)

    • 十进制 → 二进制

      方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。 

      例:将十进制的(43)D转换为二进制的步骤如下:

    1. 将商43除以2,商21余数为1;

    2. 将商21除以2,商10余数为1;

    3. 将商10除以2,商5余数为0;

    4. 将商5除以2,商2余数为1;

    5. 将商2除以2,商1余数为0; 

    6. 将商1除以2,商0余数为1; 

    7. 读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,101011,即(43)D=(101011)B。

    wpsC02F.tmp

    (Figure4:图解十进制 → 二进制)

    • 十进制 → 八进制

      方法1:除8取余法,即每次将整数部分除以8,余数为该位权上的数,而商继续除以8,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数起,一直到最前面的一个余数。

      例:将十进制的(796)D转换为八进制的步骤如下:

    1. 将商796除以8,商99余数为4;

    2. 将商99除以8,商12余数为3;

    3. 将商12除以8,商1余数为4;

    4. 将商1除以8,商0余数为1;

    5. 读数,因为最后一位是经过多次除以8才得到的,因此它是最高位,读数字从最后的余数向前读,1434,即(796)D=(1434)O。

    wpsC030.tmp

    (Figure5:图解十进制 → 八进制)

      方法2:使用间接法,先将十进制转换成二进制,然后将二进制又转换成八进制;

    wpsC031.tmp

    (Figure6:图解十进制 → 八进制)

    • 十进制 → 十六进制

      方法1:除16取余法,即每次将整数部分除以16,余数为该位权上的数,而商继续除以16,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数起,一直到最前面的一个余数。

      例:将十进制的(796)D转换为十六进制的步骤如下:

    1. 将商796除以16,商49余数为12,对应十六进制的C;

    2. 将商49除以16,商3余数为1;

    3. 将商3除以16,商0余数为3;

    4. 读数,因为最后一位是经过多次除以16才得到的,因此它是最高位,读数字从最后的余数向前读,31C,即(796)D=(31C)H。

    wpsC042.tmp

    (Figure7:图解十进制 → 十六进制)

      方法2:使用间接法,先将十进制转换成二进制,然后将二进制又转换成十六进制;

    wpsC043.tmp

    (Figure8:图解十进制 → 十六进制)

    (三) (二进制) ↔ (八、十六进制)

    wpsC044.tmp

    (Figure9:二进制转换为其它进制)

    • 二进制 → 八进制

      方法:取三合一法,即从二进制的小数点为分界点,向左(向右)每三位取成一位,接着将这三位二进制按权相加,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数。如果向左(向右)取三位后,取到最高(最低)位时候,如果无法凑足三位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足三位。

      例:将二进制的(11010111.0100111)B转换为八进制的步骤如下:

    1. 小数点前111 = 7;

    2. 010 = 2;

    3. 11补全为011,011 = 3;

    4. 小数点后010 = 2;

    5. 011 = 3;

    6. 1补全为100,100 = 4;

    7. 读数,读数从高位到低位,即(11010111.0100111)B=(327.234)O。

    wpsC054.tmp

    (Figure10:图解二进制 → 八进制)

    二进制与八进制编码对应表:

    二进制

    八进制

    000

    0

    001

    1

    010

    2

    011

    3

    100

    4

    101

    5

    110

    6

    111

    7

     

    • 八进制 → 二进制

      方法:取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数,小数点位置照旧。

      例:将八进制的(327)O转换为二进制的步骤如下:

    1. 3 = 011;

    2. 2 = 010;

    3. 7 = 111;

    4. 读数,读数从高位到低位,011010111,即(327)O=(11010111)B。

    wpsC055.tmp

    (Figure11:图解八进制 → 二进制)

    • 二进制 → 十六进制

      方法:取四合一法,即从二进制的小数点为分界点,向左(向右)每四位取成一位,接着将这四位二进制按权相加,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的十六进制数。如果向左(向右)取四位后,取到最高(最低)位时候,如果无法凑足四位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足四位。

      例:将二进制的(11010111)B转换为十六进制的步骤如下:

    1. 0111 = 7;

    2. 1101 = D;

    3. 读数,读数从高位到低位,即(11010111)B=(D7)H。

    wpsC056.tmp

    (Figure12:图解二进制 → 十六进制)

    • 十六进制 → 二进制

      方法:取一分四法,即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置照旧。

      例:将十六进制的(D7)H转换为二进制的步骤如下:

    1. D = 1101;

    2. 7 = 0111;

    3. 读数,读数从高位到低位,即(D7)H=(11010111)B。

    wpsC057.tmp

    (Figure13:图解十六进制 → 二进制)

    (四) (八进制) ↔ (十六进制)

    wpsC058.tmp

    (Figure14:八进制与十六进制之间的转换)

    • 八进制 → 十六进制

      方法:将八进制转换为二进制,然后再将二进制转换为十六进制,小数点位置不变。

      例:将八进制的(327)O转换为十六进制的步骤如下:

    1. 3 = 011;

    2. 2 = 010;

    3. 7 = 111;

    4. 0111 = 7;

    5. 1101 = D;

    6. 读数,读数从高位到低位,D7,即(327)O=(D7)H。

    wpsC069.tmp

    (Figure15:图解八进制 → 十六进制)

    • 十六进制 → 八进制

      方法:将十六进制转换为二进制,然后再将二进制转换为八进制,小数点位置不变。

      例:将十六进制的(D7)H转换为八进制的步骤如下:

    1. 7 = 0111;

    2. D = 1101;

    3. 0111 = 7;

    4. 010 = 2;

    5. 011 = 3;

    6. 读数,读数从高位到低位,327,即(D7)H=(327)O。

    wpsC06A.tmp

    (Figure16:图解十六进制 → 八进制)

    四.扩展阅读

      1. 包含小数的进制换算:

    (ABC.8C)H=10x16^2+11x16^1+12x16^0+8x16^-1+12x16^-2

    =2560+176+12+0.5+0.046875

    =(2748.546875)D

      2. 负次幂的计算:

    2^-5=2^(0-5)=2^0/2^5=1/2^5

    同底数幂相除,底数不变,指数相减,反过来

    3. 我们需要了解一个数学关系,即23=8,24=16,而八进制和十六进制是用这关系衍生而来的,即用三位二进制表示一位八进制,用四位二进制表示一位十六进制数。接着,记住4个数字8、4、2、1(23=8、22=4、21=2、20=1)。

    五.参考文献(References)

    二进制、八进制、十进制、十六进制之间转换

    二进制如何转换成八进制

    展开全文
  • (0-255)十进制-二进制-八进制-十六进制对照,(0-255)十进制-二进制-八进制-十六进制对照,(0-255)十进制-二进制-八进制-十六进制对照
  • 二进制、八进制、十进制与十六进制 一、 进制的概念 在计算机语言中常用的进制有二进制、八进制、十进制和十六进制,十进制是最主要的表达形式。 对于进制,有两个基本的概念:基数和运算规则。 基数:基数是指一种...

    二进制、八进制、十进制与十六进制

    一、 进制的概念

    在计算机语言中常用的进制有二进制、八进制、十进制和十六进制,十进制是最主要的表达形式。

    对于进制,有两个基本的概念:基数和运算规则。

    • 基数:基数是指一种进制中组成的基本数字,也就是不能再进行拆分的数字。二进制是0和1;八进制是0-7;十进制是0-9;十六进制是0-9+A-F(大小写均可)。也可以这样简单记忆,假设是n进制的话,基数就是【0,n-1】的数字,基数的个数和进制值相同,二进制有两个基数,十进制有十个基数,依次类推。
    • 运算规则:运算规则就是进位或错位规则。例如对于二进制来说,该规则是“满二进一,借一当二”;对于十进制来说,该规则是“满十进一,借一当十”。其他进制也是这样。

    二、 二进制、八进制、十进制、十六进制基数对照表

    ScreenShot00314

    三、 二进制转化成其他进制

    1. 二进制(Binary)——>八进制(Octal)

    例子1:将二进制数(10010)2转化成八进制数。
    (10010)2=(010 010)2=(2 2)8=(22)8

    例子2:将二进制数(0.1010)2转化为八进制数。
    (0.10101)2=(0. 101 010)2=(0. 5 2)8=(0.52)8

    诀窍:因为每三位二进制数对应一位八进制数,所以,以小数点为界,整数位则将二进制数从右向左每3位一隔开,不足3位的在左边用0填补即可;小数位则将二进制数从左向右每3位一隔开,不足3位的在右边用0填补即可。

    2. 二进制(Binary)——> 十进制(Decimal)

    例子1:将二进制数(10010)2转化成十进制数。
    (10010)2=(1x24+0x23+0x22+1x21+0x20)10=(16+0+0+2+0)10=(18) 10

    例子2:将二进制数(0.10101)2转化为十进制数。
    (0.10101)2=(0+1x2-1+0x2-2+1x2-3+0x2-4+1x2-5)10=(0+0.5+0.25+0.125+0.0625+0.03125)10=(0.96875)10

    诀窍:以小数点为界,整数位从最后一位(从右向左)开始算,依次列为第0、1、2、3………n,然后将第n位的数(0或1)乘以2的n-1次方,然后相加即可得到整数位的十进制数;小数位则从左向右开始算,依次列为第1、2、3………n,然后将第n位的数(0或1)乘以2的-n次方,然后相加即可得到小数位的十进制数(按权相加法)。

    3. 二进制(Binary)——> 十六进制(Hex)

    例子1:将二进制数(10010)2转化成十六进制数。

    1. (10010)2=(0001 0010)2=(1 2)16=(12) 16
    2. (10010)2=(22)8=(18) 10=(12)16

    例子2:将二进制数(0.1010)2转化为十六进制数。
    (0.10101)2=(0. 1010 1000)2=(0. A 8)16=(0.A8)16
    (0.10101)2=(0.52)8=(0.96875)10=(0.A8)16

    诀窍:因为每四位二进制数对应一位十六进制数,所以,以小数点为界,整数位则将二进制数从右向左每4位一隔开,不足4位的在左边用0填补即可;小数位则将二进制数从左向右每4位一隔开,不足4位的在右边用0填补即可。

    四、 八进制转化成其他进制

    1. 八进制(Octal)——>二进制(Binary)

    例子1:将八进制数(751)8转换成二进制数。
    (751)8=(7 5 1)8=(111 101 001)2=(111101001)2

    例子2:将八进制数(0.16)8转换成二进制数。
    (0.16)8=(0. 1 6)8=(0. 001 110)2=(0.00111)2

    诀窍:八进制转换成二进制与二进制转换成八进制相反。

    2. 八进制(Octal)——>十进制(Decimal)

    例子1:将八进制数(751)8转换成十进制数。
    (751)8=(7x82+5x81+1x80)10=(448+40+1)10=(489)10

    例子2:将八进制数(0.16)8转换成十进制数。
    (0.16)8=(0+1x8-1+6x8-2)10=(0+0.125+0.09375)10=(0.21875)10

    诀窍: 方法同二进制转换成十进制。以小数点为界,整数位从最后一位(从右向左)开始算,依次列为第0、1、2、3………n,然后将第n位的数(0-7)乘以8的n-1次方,然后相加即可得到整数位的十进制数;小数位则从左向右开始算,依次列为第1、2、3………n,然后将第n位的数(0-7)乘以8的-n次方,然后相加即可得到小数位的十进制数(按权相加法)。

    3. 八进制(Octal)——>十六进制(Hex)

    例子1:将八进制数(751)8转换成十六进制数。
    (751)8=(111101001)2=(0001 1110 1001)2=(1 E 9)16=(1E9)16

    例子2:将八进制数(0.16)8转换成十六进制数。
    (0.16)8=(0.00111)2=(0. 0011 1000)2=(0.38)16

    诀窍:八进制直接转换成十六进制比较费力,因此,最好先将八进制转换成二进制,然后再转换成十六进制。

    (751)8=(111101001)2=(489)10=(1E9)16
    (0.16)8=(0.00111)2=(0.21875)10=(0.38)16

    五、 十进制转化成其他进制

    1. 十进制(Decimal)——> 二进制(Binary)

    例子1:将十进制数(93)10转换成二进制数。
    93/2=46……….1
    46/2=23……….0
    23/2=11……….1
    11/2=5…………1
    5/2=2……………1
    2/2=1……………0
    (93)10=(1011101)2

    例子2:将十进制数(0.3125)10转换成二进制数。
    0.3125x2 = 0 . 625
    0.625x2 = 1 .25
    0.25x2 = 0 .5
    0.5x2 = 1 .0
    (0.3125)10=(0.0101)2

    诀窍:以小数点为界,整数部分除以2,然后取每次得到的商和余数,用商继续和2相除,直到商小于2。然后把第一次得到的余数作为二进制的个位,第二次得到的余数作为二进制的十位,依次类推,最后一次得到的小于2的商作为二进制的最高位,这样由商+余数组成的数字就是转换后二进制的值(整数部分用除2取余法);小数部分则先乘2,然后获得运算结果的整数部分,将结果中的小数部分再次乘2,直到小数部分为零。然后把第一次得到的整数部分作为二进制小数的最高位,后续的整数部分依次作为低位,这样由各整数部分组成的数字就是转化后二进制小数的值(小数部分用乘2取整法)。 需要说明的是,有些十进制小数无法准确的用二进制进行表达,所以转换时符合一定的精度即可,这也是为什么计算机的浮点数运算不准确的原因。

    2. 十进制(Decimal)——>八进制(Octal)

    例子1:将十进制数(93)10转换成八进制数。
    93/8=11………….5
    11/8=1……………3
    (93)10=(135)8

    例子2: 将十进制数(0.3125)10转换成八进制数。
    0.3125x8 = 2 .5
    0.5x8 = 4 .0
    (0.3125)10=(0.24)8

    诀窍: 方法同十进制转化成二进制。以小数点为界,整数部分除以8,然后取每次得到的商和余数,用商继续和8相除,直到商小于8。然后把第一次得到的余数作为八进制的个位,第二次得到的余数作为八进制的十位,依次类推,最后一次得到的小于8的商作为八进制的最高位,这样由商+余数组成的数字就是转换后八进制的值(整数部分用除8取余法); 小数部分则先乘8,然后获得运算结果的整数部分,将结果中的小数部分再次乘8,直到小数部分为零。然后把第一次得到的整数部分作为八进制小数的最高位,后续的整数部分依次作为低位,这样由各整数部分组成的数字就是转化后八进制小数的值(小数部分用乘8取整法)。

    3. 十进制(Decimal)——>十六进制(Hex)

    例子1:将十进制数(93)10转换成十六进制数。

    1. 93/16=5………13(D) (93)10=(5D)16
    2. (93)10=(1011101)2=(135)8=(5D)16

    例子2: 将十进制数(0.3125)10转换成十六进制数。

    1. 0.3125x16 = 5 .0 (0.3125)10=(0.5)16
    2. (0.3125)10=(0.0101)2=(0.24)8=(0.5)16

    诀窍: 方法同十进制转化成二进制。以小数点为界,整数部分除以16,然后取每次得到的商和余数,用商继续和16相除,直到商小于16。然后把第一次得到的余数作为十六进制的个位,第二次得到的余数作为十六进制的十位,依次类推,最后一次得到的小于16的商作为十六进制的最高位,这样由商+余数组成的数字就是转换后十六进制的值(整数部分用除16取余法); 小数部分则先乘16,然后获得运算结果的整数部分,将结果中的小数部分再次乘16,直到小数部分为零。然后把第一次得到的整数部分作为十六进制小数的最高位,后续的整数部分依次作为低位,这样由各整数部分组成的数字就是转化后十六进制小数的值(小数部分用乘16取整法)。

    六、 十六进制转换成其他进制

    1. 十六进制(Hex)——>二进制(Binary)

    例子1:将十六进制数(A7)16转换成二进制数。
    (A7)16=(A 7)16=(1010 0111)2=(10100111)2

    例子2:将十六进制数(0.D4)16转换成二进制数。
    (0.D4)16=(0. D 4)16=(0. 1101 0100)2=(0.110101)2

    诀窍:十六进制转换成二进制与二进制转换成十六进制相反。

    2. 十六进制(Hex)——>八进制(Octal)

    例子1:将十六进制数(A7)16转换成八进制数。
    (A7)16=(10100111)2=(010 100 111)8=(247)8

    例子2:将十六进制数(0.D4)16转换成八进制数。
    (0.D4)16=(0.110101)2=(0. 110 101)8=(0.65)8

    诀窍:十六进制直接转换成八进制比较费力,因此,最好先将十六进制转换成二进制,然后再转换成八进制。

    3. 十六进制(Hex)——>十进制(Decimal)

    例子1:将十六进制数(A7)16转换成十进制数。

    1. (A7)16=(10x161+7x160)10=(160+7)10=(167)10
    2. (A7)16=(10100111)2=(247)8=(167)10

    例子2:将十六进制数(0.D4)16转换成十进制数。

    1. (0.D4)16=(0+13x16-1+4x16-2)10=(0+0.8125+0.015625)10=(0.828125)10
    2. (0.D4)16=(0.110101)2=(0.65)8=(0.828125)10

    诀窍:方法同二进制转换成十进制。以小数点为界,整数位从最后一位(从右向左)开始算,依次列为第0、1、2、3………n,然后将第n位的数(0-9,A-F)乘以16的n-1次方,然后相加即可得到整数位的十进制数;小数位则从左向右开始算,依次列为第1、2、3………n,然后将第n位的数(0-9,A-F)乘以16的-n次方,然后相加即可得到小数位的十进制数(按权相加法)。

    七、 总结

    1. 其他进制转十进制:将二进制数、八进制数、十六进制数的各位数字分别乘以各自基数的(N-1)次方,其相加之和便是相应的十进制数,这是按权相加法。
    2. 十进制转其他进制:整数部分用除基取余法,小数部分用乘基取整法,然后将整数与小数部分拼接成一个数作为转换的最后结果。
    3. 二进制转八进制:从小数点位置开始,整数部分向左,小数部分向右,每三位二进制为一组用一位八进制的数字来表示,不足三位的用0补足。
    4. 八进制转二进制:与二进制转八进制相反。
    5. 二进制转十六进制:从小数点位置开始,整数部分向左,小数部分向右,每四位二进制为一组用一位十六进制的数字来表示,不足四位的用0补足。
    6. 十六进制转二进制:与二进制转十六进制相反。
    7. 八进制转十六进制:通常将八进制转换成二进制,然后通过二进制再转换成十六进制。
    8. 十六进制转八进制:通常将十六进制转换成二进制,然后通过二进制再转换成八进制。
    展开全文
  • 进制间转换 进制转换 二进制与十进制 八进制 十六进制转换
  • 进制转换 进制转换是人们利用符号来技术的方法。 进制转换由一组数码符号和两个基本因素“基数”与“位权”构成...一:(,八,十六进制)转十进制 方法:假设我们要将n进制转换为十进制,首先我们从n进制的右边为...
  • 二进制 二进制,逢二进一,数字中只有 0 和 1 例如,数数,二进制的数法是:0,1 接着 10,11 接着 100,101,110,111 接着 1000,1001 … 1111 以此类推。 十进制 十进制,逢十进一,数字中含有 0,1,2,3,4,...
  • 十六进制转换表 十六进制 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 ...
  • 二进制十六进制转换对照

    千次阅读 2014-08-21 13:50:25
  • 二进制、八进制、十进制、十六进制之间的转换

    万次阅读 多人点赞 2018-12-28 23:55:23
    目录  1.十进制转2进制  2.二进制转十进制  ...
  • 二进制的定义: 二进制数据是用0和1两个数码来表示的数。...二进制转换 ①二转八 转换方法:以三位为分割,进行转换 例子: 计算过程: 前三位的100转换为0*2^0+0*2^1+1*2^2=4 后三个的001...
  • 文章目录前言1、二进制1.1、二进制转八进制1.2、二进制转十进制1.2、二进制十六进制2、八进制1.1、八进制转二进制1.2、八进制转十进制1.2、八进制转十六进制3、十进制3.1、十进制转二进制3.2、十进制转八进制3.3、...
  • 二进制、八进制、十进制、十六进制相互之间的转换: 1.二进制与十进制 1)十进制转二进制 十进制转二进制,把要转换的数,除以2,得到商和余数,将商继续除以2,直到商为0。最后将所有余数倒序排列,得到转换结果...
  • Java二进制、八进制、十进制、十六进制及其相互转换 进制的基本介绍 所有数字在计算机底层都以二进制形式存在。 对于整数,有四种表示方式: 二进制(binary): 0,1 ,满2进1.以0b或0B开头。 十进制(decimal): 0-9 ...
  • 二进制、十进制、十六进制、C51十六进制转换器,还有ASCII代码,单个字符转换。
  • 二进制十进制八进制十六进制相互转换: 不同进制之间的转换是计算机学科同学必学的,网上有很多这方面的知识,今天搬运过来整理一下,与大家分享,希望与大家一起进步。 二进制转换: 1、十进制到二进制: 除2取余数...
  • 二进制十六进制 十六进制二进制 ©本文由博主原创,未经允许,不得转载相关博文内容 介绍 我相信很多大学计算机专业的学生还依然不懂它们之间的区别以及转换关系,作为大学生的你和我相比差不了多少...
  • 二进制、八进制、十进制、十六进制关系及转换

    万次阅读 多人点赞 2019-02-21 21:20:22
    二进制,八进制,十进制,十六进制之间的关系是什么?浮点数是什么回事? 本文内容参考自王达老师的《深入理解计算机网络》一书<中国水利水电出版社&amp...
  • 二进制、八进制、十六进制转换为十进制 二进制、八进制和十六进制向十进制转换都非常容易,就是“按权相加”。所谓“权”,也即“位权”。 假设当前数字是 N 进制,那么: 对于整数部分,从右往左看,第 i 位的...
  • 软件方面的都需要它,在写程序的时候可以用十六进制代表简单的符号
  • 二进制与八进制、十六进制间转换的简便方法 这个是我在学习中自己发现的规律,虽然他很简单,但是很有用,掌握这个方法就可以不用记。对于初学者来说是非常友好的!! 二进制转换八进制表格 二进制 八进制 ...
  • 1.二进制转换为十进制 1.1二进制介绍 规律:逢二进一 基本数字 0 1 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 代表的十进制分别为: ...3.二进制转换十六进制 4.二进
  • 常用进制转换1.进制特点2.十进制与二进制的转换2.1对应关系2.2举例一:二进制1011转换十进制2.3举例二:二进制10111转换十进制2.3举例三:十进制45转换成二进制2.4举例四:十进制小数0.25转换成二进制3.八进制与...
  • 而IPv6的地址是128位,是由数字和A-F组成的十六进制系统。因此,了解并且学会在其三者之间相互转换是非常重要的,让我们能够更好的了解它们。 二进制数制系统 IPv4地址以二进制开头,仅包含0和1。主机,服务器和网络...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 76,608
精华内容 30,643
关键字:

二进制十六进制转换表