精华内容
下载资源
问答
  • C语言实现二进制八进制和十六进制转换 二进制转换十进制 再将十进制转换R进制
  • 十进制整数转换成二进制采用“除2倒取余”,十进制小数转换成二进制小数采用“乘2取整”。 例题: 135D = __ B 解析:如下图所示,将135除以2,得余数,直到不能整除,然后再将余数从下至上倒取。得到结果:1000 ...

    1.十进制转R进制

    1.1 十进制转二进制

    十进制整数转二进制

    十进制整数转换成二进制采用“除2倒取余”,十进制小数转换成二进制小数采用“乘2取整”。

    例题: 135D = ______ B

    **解析:**如下图所示,将135除以2,得余数,直到不能整除,然后再将余数从下至上倒取。得到结果:1000 0111B.
    这里写图片描述

    图1.十进制整数转二进制

    十进制小数转二进制

    十进制小数转换成二进制小数采用 “乘2取整,顺序排列” 法。

    具体做法是:

    用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数 部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。

    然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

    例题: 0.68D = ______ B(精确到小数点后5位)

    **解析:**如下图所示,0.68乘以2,取整,然后再将小数乘以2,取整,直到达到题目要求精度。得到结果:0.10101B.

    在这里插入图片描述

    图2.十进制小数转二进制

    1.2 十进制转八进制

    思路和十进制转二进制一样,参考如下例题:

    例题: 10.68D = ______ Q(精确到小数点后3位)

    **解析:**如下图所示,整数部分除以8取余数,直到无法整除。小数部分0.68乘以8,取整,然后再将小数乘以8,取整,直到达到题目要求精度。得到结果:12.534Q.

    这里写图片描述

    图3.十进制转八进制

    1.3 十进制转十六进制

    思路和十进制转二进制一样,参考如下例题:

    例题: 25.68D = ______ H(精确到小数点后3位)

    **解析:**如下图所示,整数部分除以16取余数,直到无法整除。小数部分0.68乘以16,取整,然后再将小数乘以16,取整,直到达到题目要求精度。得到结果:19.ae1H.

    这里写图片描述

    图4.十进制转十六进制
    # 2.R进制转十进制 ## 2.1 二进制转十进制 **方法为:**把二进制数按权展开、相加即得十进制数。(具体用法如下图)

    例题: 1001 0110B = ______ D

    **解析:**如下图所示。得到结果:150D.

    这里写图片描述

    图5.二进制转十进制

    2.2 八进制转十进制

    八进制转十进制的方法和二进制转十进制一样。

    例题: 26Q = ______ D

    **解析:**如下图所示。得到结果:22D.

    这里写图片描述

    图6.八进制转十进制

    2.3 十六进制转十进制

    例题: 23daH = ______ D

    **解析:**如下图所示。得到结果:9178D.

    这里写图片描述

    图7.十六进制转十进制

    3.二进制转八进制

    二进制转换成八进制的方法是,取三合一法,即从二进制的小数点为分界点,向左(或向右)每三位取成一位。

    例题: 1010 0100B = ____Q

    **解析:**计算过程如下图所示。得到结果:244Q.

    这里写图片描述

    图8.二进制转八进制

    4.二进制转十六进制

    二进制转换成八进制的方法是,取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一位。

    例题: 1010 0100B = ____H

    **解析:**计算过程如下图所示。得到结果:a4H.

    这里写图片描述

    图9.二进制转十六进制

    5.工欲善其事,必先利其器

    下面的表格是8位二进制所对应的十进制数值,对进制转换以及类似题目的理解非常有用:

    11111111B
    1286432168421D

    注:B:二进制
           D:十进制


    例题: 135D = ______ B

    **解析:**有了上面二进制对应十进制数值的表格,我们就可以将题目给的十进制135拆分为:128+7,再从表格中找到对应的数值,拼凑即可得到答案。
    135D = 128D + 7D = 1000 0111B

    展开全文
  • 其方法与二进制转换十进制差不多:按权相加法,即将八进制每位上的数乘以位权(如8,64,512….),然后将得出来的数再加在一起。 如将72.45转换为十进制。如图1所示 来看看十进制转八进制,有两种方法:直接法与...

    先来看八进制如何转换成十进制。其方法与二进制转换成十进制差不多:按权相加法,即将八进制每位上的数乘以位权(如8,64,512….),然后将得出来的数再加在一起。
    如将72.45转换为十进制。如图1所示
    在这里插入图片描述
    来看看十进制转八进制,有两种方法:直接法与间接法,先看直接的方法,与十进制转成二进制相同,咱们还是分整数部分转换和小数部分转换。
    整数部分,除8取余法,每次将整数部分除以8,余数为该位权上的数,商继续除以8,余数又为上一个位权上的数,然后以此类推一直下去,直到商为零,最后从最后一个余数向前排列就可以了,嗨,还是上图直观,如图2所示。
    在这里插入图片描述
    再看小数部分,与转二进制相同,这里是乘八取整法,也就是说小数部分乘以8,然后取整数部分,再让剩下的小数部分再乘以8,再取整数部分,……以此类推,一直乘到小数部分为零为止。例如0.13856,如图3所示。
    在这里插入图片描述
    小数部分乘以8,如果永远也碰不到零该怎么办?如图4所示(假设示范哦),那就根据位数要求进行“3舍4入”吧。
    在这里插入图片描述
    这个是直接的方法,还有一个间接的方法捏?就是先把十进制转换为二进制,然后再由二进制转换为8进制,例如将十进制478.0245转为八进制。

        先转为二进制为(转换方法这里就不再累述了哦,不知道的看上期介绍吧):
    
        (478.125)10=(111011110.001)2
    
        二进制再转为八进制为(转换方法这里就不再累述了哦,不知道的看上期介绍吧):
    
        (111011110.001)2=(736.1)8
    

    注意事项:
    八进制转十进制:整体顺序、小数点不变,个位乘8的0次方+十位乘8的1次方…=十进制得数,即可。小数部分从左到右乘8的负一次方开始,以此类推。
    十进制转八进制:整体顺序、小数点不变,整数部分除8,余数倒着从左向右排,小数部分乘8,整数自左向右排。

    展开全文
  • 二进制转换为八进制或十六进制

    千次阅读 2017-05-21 21:18:50
    注:3位二进制成八进制是从右到左开始转换,不足时补0。  示 例:把二进制数1001 0110转换为八进制数   即二进制数1001 0110转为后为八进制数226。 》八进制转换为二进制  #八进制数通过除以2取余,余数...

    》二进制转换为八进制

        #3位二进制数按权展开相加得到1位八进制数。注:3位二进制转成八进制是从右到左开始转换,不足时补0。

        示   例:把二进制数1001 0110转换为八进制数


        即二进制数1001 0110转为后为八进制数226。


    》八进制转换为二进制

        #八进制数通过除以2取余,余数倒序排列得到二进制数每个八进制数对应3个二进制数,不足时在最左边补零

        示   例:把八进制数226转换为二进制数


       即八进制数226转换后为二进制数1001 0110,注:位长为8,所以左边第一位的0舍去。


    》二进制转换为十六进制

        #与二进制转八进制方法近似,八进制是取三合一,十六进制是取四合一。注:4位二进制转成十六进制是从右到左开始转换,不足时补0。

        示   例:把二进制数101 0111 1101转换为十六进制数


       即二进制数101 0111 1101转换后为十六进制数57D,注:字母不区分大小写。


    》十六进制转换为二进制

        #十六进制数通过除以2取余,余数倒序排列得到二进制数每个十六进制数对应4个二进制数,不足时在最左边补零

        示   例:把十六进制数57D转换成二进制数


       即十六进制数57D二进制数转换后为0101 0111 1101

    展开全文
  • //用栈实现进制转换十进制转换二进制数、八进制数、十六进制数#include<stdio.h>//进制转换 实现十进制转换二进制数、八进制数、十六进制数#include<malloc.h>#include<process.h>#define...

    //用栈实现进制转换十进制转换成:二进制数、八进制数、十六进制数
    #include<stdio.h>  //进制转换 实现十进制转换成:二进制数、八进制数、十六进制数
    #include<malloc.h>
    #include<process.h>
    #define MAXSIZE 50
    typedef struct
    {
            int data[MAXSIZE];
            int top;
    }list_stack;

    int main()
    {       
            printf("(程序功能:实现十进制转换成二进制数、八进制数、十六进制数)\n");
            list_stack *p;
            p=(list_stack*)malloc(sizeof(list_stack));
            p->top=0;
            int i,j;
            printf("请输入你要转换的十进制数:\n");
            scanf("%d",&i);
            printf("转换后的数为:",i);

    for(;;)
    {
            printf("你要转化成何种进制的数:\n0.退出\t2.二进制\t8.八进制\t16.十六进制\n",i);
            scanf("%d",&j);

            if(j==0)
            {   
                    exit(0);
            }       
           
            if(j==2)
            {   
                    void change_stack(list_stack *p,int i,int j);//调用进制转换的函数
                    change_stack(p,i,j);
            }       

            if(j==8)
            {   
                    void change_stack(list_stack *p,int i,int j);//调用进制转换的函数
                    change_stack(p,i,j);
            }       

            if(j==16)
            {   
                    void change_stack(list_stack *p,int i,int j);//调用进制转换的函数
                    change_stack(p,i,j);
            }
            if(j!=0 ||j!=2||j!=8||j!=16)
                    printf("您输入有误,请重新输入!");
            printf("\n");
    }
            return 0;

    }

    //实现进制转换的函数
       void change_stack(list_stack *p,int i,int j)
            {
                    int chushu,shang,yushu;
                    while(shang!=0)
                    {
                            chushu=i;
                            shang=i/j;
                            yushu=i%j;       
                            p->data[p->top]=yushu;//余数入栈
                            p->top=p->top+1;
                            i=shang;
                    }               
                  void delet_stack(list_stack *p);//调用出栈函数
                    delet_stack(p);
            }

    void delet_stack(list_stack *p)//出栈
    {
            int x;
            if(p->top==0)
                    printf("当前栈为空!");
            else
                    while(p->top!=NULL)
                    {
                            x=p->data[p->top-1];    //存储需要删除的栈顶元素
                            printf("%d",x);
                            p->top--;       
                    }
    }

    转载于:https://www.cnblogs.com/wc1903036673/p/3429044.html

    展开全文
  • 二进制 二进制就是计算机常用的进制,即逢二进一。例如:1010 八进制 八进制即逢八进一。例如:626 ...十进制就是我们在计算中常用的进制,所以就...1.二进制八进制二进制数10010110举例 首先需要3个二进...
  • 思路: 1)用给出的十进制数去除以8,得到的模数相加。 ...3)十进制转换成八进制,就是用十进制的数除以8取模,将所有的模逆向的输出(这里说的笼统,不懂的可以百度一下哈)。 4)这里用的方法
  • 1、 十进制转换为二进制 ...2、 十进制转换为八进制 string s = Convert.ToString(x, 8);   3、 十进制转换为十六进制 string s = Convert.ToString(x, 16);   4、二进制转换为十进制 x = Convert.T
  • C语言算法之将十进制数转换成二进制

    万次阅读 多人点赞 2018-06-20 14:35:29
    导语:在C语言中没有将其他进制的数直接输出为二进制数的工具或方法,输出为八进制数可以用%o,输出为十六进制可以用%x,输出为二进制就要我们自行解决了。下面给大家讲述一下如何编程实现将十进制数转换成二进制数...
  • 进制转换:二进制八进制、十六进制、十进制之间的转换 不同进制之间的转换在编程中经常会用到,尤其是C语言。 将二进制八进制、十六进制转换为十进制 二进制八进制和十六进制向十进制转换都非常容易,就是...
  • 十进制:211,八进制:323,十六进制:D3。二进制转十进制的转换原理:整数部分从二进制的右边第一个数开始,每一个乘以2的n次方,n从0开始,每次递增1。然后得出来的每个数相加即是十进制数。小数部分要使用“乘 2 ...
  • 值得注意的是,存放二进制的数组...二进制转换为八进制是非常简单的,因为每三个二进制就是一位八进制.如果不足三位二进制则补0. 例如: 10101 –>010 101 –>25 1101 –> 001 101 –> 15 思路有了,接下来就是把思路转
  • 二进制转换为八进制-栈方式实现

    千次阅读 2019-10-07 13:48:12
    文章目录二进制转换为八进制 二进制转换为八进制二进制转换为八进制,需要使用两个栈,一个栈用于存储二进制数据,另一个栈用于存储八进制数据。 ​ 每三个二进制数据代表一个八进制数据。因此,需要弹出三个...
  • 进制转换二进制八进制Prerequisite: Number systems 先决条件: 数字系统 To convert binary numbers into octal numbers, we first have to understand the relationship between binary and octal numbers. ...
  • 十六进制(Hexadecimal):在数学中是一种逢16进1的进位制。一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15。 十进制(Decimal System):每相邻的两个计数单位之间的进率都为十;十进制是中华民族的一...
  • 三位二进制最小是000,最大是111,其范围恰好在0-7,构成了八进制一位。 八进制,Octal,缩写OCT或O,一种以8为基数的计数法,采用0,1,2,3...为了将一个二进制数换算为八进制,只需将二进制串划分每三个位一组...
  • 用链栈将十进制转换成八进制

    千次阅读 2020-03-21 20:00:46
    使用链栈将十进制转换成八进制` //十进制转化成八进制 #include <stdio.h> #include <stdlib.h> #define MAXSIZE 100 #define OK 1; #define ERROR 0; #define True 1; #define False 0; typedef int ...
  • 十进制转换成八进制(C++)

    万次阅读 多人点赞 2019-07-20 16:45:39
    用递归算法,把任一给定的十进制正整数转换成八进制数输出。 Input 输入一个正整数,表示需要转换的十进制数。 Output 输出一个正整数,表示转换之后的八进制的数。 Sample Input 15 Sample Output 17 HINT...
  • 例:①将八进制数67.35转换为十进制(2)十进制转换为八进制十进制转换成八进制有两种方法:1)间接法:先将十进制转换成二进制,然后将二进制又转换成八进制2)直接法:前面我们讲过,八进制是由二进制衍生而来的,因此...
  • 二进制换算成八进制、十进制、十六进制一、介绍:二、二进制转十进制计算二进制数转十进制的方法:(1)计算二进制数 0101 0101转十进制。(2)计算二进制数 1000 0101 转十进制:三、二进制转八进制计算二进制数转...
  • * 将十进制转换成二进制八进制、十六进制 * 说明: * 1)、在JAVA语言一个整数用4个八位表示,即32个二进制位 * 2)、一个二进制位用0和1表示,最大值是1 * 3)、一个八进制位表示3个二进制位,最大值是7 * ...
  • 十进制转换为八进制或十六进制

    千次阅读 2017-05-22 14:25:05
     #间接转换:先将十进制转换成二进制,然后在由二进制转换成八进制。  #将十进制数除以8取余,直到商为0或1时停止,然后把余数倒序排列。  示 例:将十进制数50转换成八进制数  将余数倒序排列后,即十进制数...
  • 十进制,二进制,八进制...二进制转换成八进制进制 二进制转换成十六进制 八进制转换成二进制 八进制转换成十进制进制 八进制转换成十六进制 十六进制转换成二进制 十六进制转换成八进制进制 十六进制转换成十进制 ...
  • C语言二进制转换为八进制C语言二进制转换为八进制完整源码 C语言二进制转换为八进制完整源码 #include <stdio.h> // Function that returns the last three digits int three_digits(int n) { int r, d = 0,...
  • 十进制转换成二进制和十六进制的方法 十进制数转换成二进制数-般分为两个步骤,即整数部分的转换和小数部分的转换。 (1 )整数部分的转换 *除2取余法:*这种方法是由于D10=N2 =dn-1x2n-1十dn-2x2n-2 +… d1x21十d0x20,...
  • 使用堆栈的后进先出的原理,实现十进制转换成二进制八进制、十六进制: 根据十进制转换其余进制的原理,对十进制取余。然后根据LIFO:4、0、5、2放进堆栈,出来的时候就是转换好的八进制的2504。 #include #...
  • 十进制转换成二进制八进制、十六进制") num = input("请输入一个十进制的整数:") pattern = re.compile(r'[^0-9]+') if(re.search(pattern,num)):  print("输入的格式不正确") else: ...
  • 二进制转换十进制

    2021-05-23 22:57:09
    八进制: 基:0、1、2、3、4、5、6、7 范围:8 () 十六进制: 基:0~9、A、B、C、D、E、F 范围:16 一个16进制相当于4个二进制 : 24 一个8进制相当于3个:23 24 = 16 25 = 32 26 = 64 27 = 128 28 = 256 29 = 512 ...
  • 十进制转换为二进制八进制、十六进制 从十进制向其它进制转换,用的是就用该数字不断除以要转换的进制数,读取余数。连接一起就可以了。 复制代码 代码如下: <?php /** *十进制转二进制八进制、十六进制 不足...
  • 二进制十进制八进制十六进制相互转换: 不同进制之间的转换是计算机学科同学必学的,...所以转换二进制数字为:100101 **2、八进制二进制:**一个八进制的位拆分成一个三位的二进制数 比如:[八进制]616 6拆...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 124,029
精华内容 49,611
关键字:

二进制怎么换成八进制