十进制与二进制、八进制、十六进制之间的互相转换,本文让你全部理清

简介: 十进制与二进制、八进制、十六进制之间的互相转换,本文让你全部理清

一、十进制与二进制互转


1.十进制转二进制

    方法:除二反序取余法(就是不断除以2,然后拿余数出来,再把上一个的商当被除数再除以2,如此循环,然后反向取)

                    例子:10的二进制(为1010)
 
                        除数            被除数         商          余数

                         2               10            5            0 

                         2                5            2            1 

                         2                2            1            0 

                         2                1            0            1          

         注意:

       当被除数小于除数时商就是0,保证有余数,然后要拿被除数当余数

2.二进制转十进制

                  方法:权值法(将一个二进制数依次从末尾开始乘以2的n次幂,然后再把他们相加,n从0开始)

                      例子:1010的十进制是多少

                                  1                        0                       1                       0

                                  ↓                         ↓                       ↓                      ↓

                                1*2^3=8                  0*2^2=0                 1*2^1=2                0*2^0=0

                             8+0+2+0=10,所以1010的十进制为10

二、十进制与八进制互转


1.十进制转八进制

              方法:除八反序取余法(就是不断除以8,然后拿余数出来,再把上一个的商当被除数再除以8,如此循环,然后反向取)

                          例子:123的八进制(为173)

                                      除数            被除数         商          余数

                                         8             123          15            3

                                         8             15            1            7

                                         8             1             0            1

        注意:

      当被除数小于除数时商就是0,保证有余数,然后拿被除数当余数

2.八进制转十进制

 方法:权值法(将一个八进制数依次从末尾开始乘以8的n次幂,然后再把他们相加,n从0开始)

                      例子:173的十进制是多少

                                  1                        7                       3                       

                                  ↓                         ↓                       ↓                      

                                1*8^2=64                 7*8^1=56                3*8^0=3          

                                 64+56+3=123,所以173的十进制为123  

三、十进制与十六进制互转


1.十进制转十六进制

      方法:除十六反序取余法(就是不断除以16,然后拿余数出来,再把上一个的商当被除数再除以16,如此循环,然后反向取)

                          例子:123的十六进制(为7B)

                                      除数           被除数         商          余数

                                       16             123           7          11   (B)            11变成B,因为十六进制里面0-9是正常数字,从10开始就变成a开始

                                       16              7            0          7

        注意:

      当被除数小于除数时商就是0,保证有余数,然后拿被除数当余数

2.十六进制转十进制

        方法:权值法(将一个十六进制数依次从末尾开始乘以16的n次幂,然后再把他们相加,n从0开始)

                            例子:7B的十进制是多少

                                      7                               B(11)                       

                                      ↓                                 ↓                      

                                  7*16^1=112                       11*16^0=11          

                                112+11=123,所以7B的十进制为123

四、二进制与八进制互转


1.二进制转八进制

   方法:权值法(将一个二进制数依次从末尾开始乘以2的n次幂,然后再把他们相加,n从0开始)
   
      例子:                    二进制数111的八进制是多少
 
                                 111  ------- 1*2^2 +1*2^1 + 1*2^0 =7
                               
                               二进制数1000的八进制是多少(不足三位前面补两个0)

                               001 000  -------1*2^0    +     0
                                                                
                                                 1      +     0        =10                         (拼接)
                               二进制数1111的八进制是多少(不足三位前面补两个0)

                                001 111     ------- 1*2^0     +    1*2^2 +1*2^1 +1*2^0
                                                      1       +             7             = 17 

        注意:

         三位分割对应一个八进制的数,不够三位在前面补0

2.八进制转二进制

  方法:分别用除二反序法,然后再拼接就行
   
    例子:八进制数17的二进制是多少(不用补多余的0)
    
         17-------1的二进制为1,7的二进制为111,     所以为1111

五、二进制与十六进制互转


1.二进制转十六进制

  方法:权值法(将一个二进制数依次从末尾开始乘以2的n次幂,然后再把他们相加,n从0开始)
  
       例子:                         二进制数的111的十六进制是多少

                                        0111  ------- 0*2^3 + 1*2^2 + 1*2^1 + 1*2^0=7

                                      二进制数1000的十六进制是多少
                                          
                                         1000  ---------- 1*2^3 + 0*2^2 + 0*2^1 + 0*2^0=8

                                      二进制数1111的十六进制是多少

                                          1111  ---------------1*2^3 + 1*2^2 + 1*2^1 + 1*2^0=15=F                            

        注意:

       四位分割对应一个十六进制的数,不够四四位的在前面补0

2.十六进制转二进制

       方法:分别用除二反序法,然后再拼接就行
       
                             例子:十六进制73abc的二进制是多少(不够四位的在前面补0,最前面的可以不用补,其他要补0)
                       
                                      十六进制         二进制              最后结果

                                         7 -------       111           -----0111(可补可不补0) 

                                         3 --------      11            -----0011(补0)

                                       a(10)-----      0010            -----1010

                                       b(11)-----      1011            -----1011
    
                                       c(12)------     1100            -----1100

                                   所以最终结果为 111  0011  1010   1011  1100

六、十进制的小数转换成二进制

      小数部分和2相乘,取整数,不足1取0,每次相乘都是小数部分,顺序(从上到下)看取整后的数就是转化后的结果,多少位小数就保留多少位小数

                            例子1:0.25的二进制是多少

                                     0.25            
                                  *       2
                                 ————
                                        0.5              0.5 取整是0
                                  *        2
                                 ————
                                         1.0             1.0 取整是1

                                   即0.25的二进制为 0.01 ( 第一次所得到为最高位,最后一次得到为最低位)
-----------------------------------------------------------------------------------------------------------------------------------
                          例子2:0.625的二进制是多少
                       
                                       0.625
                                    *      2
                                    ————  
                                       1.250               1.250 取整是1
                           
                                       0.250     (这里变成0.250是因为1被拿走了)
                                    *      2 
                                    ———— 
                                       0.5                    0.5 取整为0
                                     *    2
                                    ———— 
                                           1                   1取整为1                     
          
                                         即0.625的二进制为0.101

七、常见的进制数

在这里插入图片描述
在这里插入图片描述


作者:KJ.JK

本文仅用于交流学习,未经作者允许,禁止转载,更勿做其他用途,违者必究。
文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习

目录
相关文章
30.【十进制和二进制的相互转化(超详解)】
30.【十进制和二进制的相互转化(超详解)】
117 0
|
25天前
|
存储 网络协议 算法
【C语言】进制转换无难事:二进制、十进制、八进制与十六进制的全解析与实例
进制转换是计算机编程中常见的操作。在C语言中,了解如何在不同进制之间转换数据对于处理和显示数据非常重要。本文将详细介绍如何在二进制、十进制、八进制和十六进制之间进行转换。
34 5
|
7月前
二进制与十六进制,二进制与八进制之间的相互转换技巧
二进制与十六进制,二进制与八进制之间的相互转换技巧
598 0
|
7月前
|
C++
十进制二进制相互转化C++
十进制二进制相互转化C++
39 0
|
7月前
|
存储 Java 程序员
基本概念【变量和数据类型和运算符、二进制和十进制、十进制转二进制 、二进制转十进制 】(一)-全面详解(学习总结---从入门到深化)
基本概念【变量和数据类型和运算符、二进制和十进制、十进制转二进制 、二进制转十进制 】(一)-全面详解(学习总结---从入门到深化)
332 0
二进制,八进制,十进制,十六进制的相互转换【简单易懂】(含代码模板)
二进制,八进制,十进制,十六进制的相互转换【简单易懂】(含代码模板)
296 0
二进制,八进制,十进制,十六进制的相互转换【简单易懂】(含代码模板)
|
测试技术
经典例题:十六进制转换十进制详解 适合初学者
经典例题:十六进制转换十进制详解 适合初学者
314 0
|
算法
二进制、八进制、十六进制与十进制的相互关系
二进制、八进制、十六进制与十进制的相互关系
进制转换(二进制,八进制,十进制,十六进制)涵盖整数与小数部分,内容的图片全为手写【详细图解】
进制转换(二进制,八进制,十进制,十六进制)涵盖整数与小数部分,内容的图片全为手写【详细图解】
|
算法 C语言
10(可回看)【C语言 & 趣味算法】数制转换(常见,二进制、八进制、十进制、十六进制之间任意转换)
10(可回看)【C语言 & 趣味算法】数制转换(常见,二进制、八进制、十进制、十六进制之间任意转换)
10(可回看)【C语言 & 趣味算法】数制转换(常见,二进制、八进制、十进制、十六进制之间任意转换)