精华内容
下载资源
问答
  • oct为八进制,hex为十六进制,dec为十进制。 问题描述 输入一个十进制正整数(<=1000000),输出其对应的八进制十六进制的值。 输入格式十进制正整数(<=1000000)输出格式其对应的八进制十六进制的值...

    oct为八进制,hex为十六进制,dec为十进制。

     

    问题描述

    输入一个十进制正整数(<=1000000),输出其对应的八进制和十六进制的值。
     

    输入格式十进制正整数(<=1000000)输出格式其对应的八进制和十六进制的值(2个值中间用空格分隔)

    样例输入1000000

    样例输出03641100 0XF4240提示

    不要求检查输入值的合法性,严格按照题目要求的格式输出。

     

     

     

    printf输出格式:http://c.biancheng.net/cpp/html/33.html

    注意:printf("%.2lf",n);会自动四舍五入

     
    #include <stdio.h>  
    #include <iostream>  
    #include <math.h>  
    #include <string.h> 
    #define d 1e-7  
    using namespace std;  
    int main()  
    {  
        int n;
        scanf("%d",&n);
        printf("%#o %#X",n,n);
        return 0;
    }          

     

    转载于:https://www.cnblogs.com/fzuhyj/p/8007626.html

    展开全文
  • 十进制转R进制 十进制转二进制 十进制整数转二进制 十进制整数转换成二进制采用“除2倒取余”,十进制小数转换成二进制小数采用“乘2取整”。 例题: 135D = __ B 解析:如下图所示,将135除以2,得余数,直到...

    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位二进制所对应的十进制数值,对进制转换以及类似题目的理解非常有用:

    1 1 1 1 1 1 1 1 B
    128 64 32 16 8 4 2 1 D

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


    例题: 135D = ______ B

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

    展开全文
  • 蓝桥杯基础练习-进制转换(十六进制转八进制+十六进制转十进制+十进制转十六进制) 一、十六进制转八进制 试题 基础练习 十六进制转八进制 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述  给定n个十六进制...

    蓝桥杯基础练习-进制转换(十六进制转八进制+十六进制转十进制+十进制转十六进制)
    一、十六进制转八进制

    试题 基础练习 十六进制转八进制 
    资源限制
    时间限制:1.0s   内存限制:512.0MB
    问题描述
      给定n个十六进制正整数,输出它们对应的八进制数。
    
    输入格式
      输入的第一行为一个正整数n (1<=n<=10)。
      接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。
    
    输出格式
      输出n行,每行为输入对应的八进制正整数。
    
      【注意】
      输入的十六进制数不会有前导0,比如012A。
      输出的八进制数也不能有前导0。
    
    样例输入
      2
      39
      123ABC
    
    样例输出
      71
      4435274
    
      【提示】
      先将十六进制数转换成某进制数,再由某进制数转换成八进制。
    

    AC代码:

    #include<bits/stdc++.h>
    using namespace std;
    string a[16]={"0000","0001","0010","0011","0100","0101","0110","0111","1000","1001","1010","1011","1100","1101","1110","1111"};
    string tran(char x)
    {
        string cnt="";
        switch (x)
        {
            case '0':cnt+=a[0];break;
            case '1':cnt+=a[1];break;
            case '2':cnt+=a[2];break;
            case '3':cnt+=a[3];break;
            case '4':cnt+=a[4];break;
            case '5':cnt+=a[5];break;
            case '6':cnt+=a[6];break;
            case '7':cnt+=a[7];break;
            case '8':cnt+=a[8];break;
            case '9':cnt+=a[9];break;
            case 'A':cnt+=a[10];break;
            case 'B':cnt+=a[11];break;
            case 'C':cnt+=a[12];break;
            case 'D':cnt+=a[13];break;
            case 'E':cnt+=a[14];break;
            case 'F':cnt+=a[15];break;
            default:break;
        }
        return cnt;
    }
    int main(){
        int n;
        cin>>n;
        string str[11];
        for(int i=0;i<n;i++)
        {
            cin>>str[i];
            string ans=""; //存放二进制字符串
            int len=str[i].length();
            for(int j=0;j<len;j++)
            {
                ans+=tran(str[i][j]);
            }
            int len2=ans.length();
            if(len2%3==1)
            {
                ans="00"+ans;
            }
            else if(len2%3==2)
            {
                ans="0"+ans;
            }
            len2=ans.length();
            string cnt=""; //存放八进制字符串
            for(int j=0;j<len2;j+=3)
            {
                int k=(ans[j]-'0')*pow(2,2)+(ans[j+1]-'0')*pow(2,1)+(ans[j+2]-'0')*pow(2,0);
                cnt+=(k+'0');
            }
            cnt.erase(0,cnt.find_first_not_of('0'));
            cout<<cnt<<endl;
        }
     system("pause");
     return 0;
    }
    
    

    二、十六进制转十进制

    试题 基础练习 十六进制转十进制  
    资源限制
    时间限制:1.0s   内存限制:512.0MB
    问题描述
      从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
      注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
    样例输入
    FFFF
    样例输出
    65535
    

    AC代码:

    #include<bits/stdc++.h>
    using namespace std;
    int tran(char x)
    {
        int ans=0;
        switch(x)
        {
            case '0':ans=0;break;
            case '1':ans=1;break;
            case '2':ans=2;break;
            case '3':ans=3;break;
            case '4':ans=4;break;
            case '5':ans=5;break;
            case '6':ans=6;break;
            case '7':ans=7;break;
            case '8':ans=8;break;
            case '9':ans=9;break;
            case 'A':ans=10;break;
            case 'B':ans=11;break;
            case 'C':ans=12;break;
            case 'D':ans=13;break;
            case 'E':ans=14;break;
            case 'F':ans=15;break;
        }
        return ans;
    }
    int main(){
        string str;
        int a[100]={0};
        cin>>str;
        int len=str.length();
        long long int sum=0;
        for(int i=len-1;i>=0;i--)
        {
            sum+=tran(str[i])*pow(16,len-i-1);
        }
        cout<<sum<<endl;
        system("pause");
        return 0;
    }
    
    

    三、十进制转十六进制

    试题 基础练习 十进制转十六进制
    资源限制
    时间限制:1.0s   内存限制:512.0MB
    问题描述
      十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的015。十六进制的计数方法是满161,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。
      给出一个非负整数,将它表示成十六进制的形式。
    输入格式
      输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647
    输出格式
      输出这个整数的16进制表示
    样例输入
    30
    样例输出
    1E
    

    AC代码:

    #include<bits/stdc++.h>
    using namespace std;
    char a[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    int main(){
        long long int n;
        cin>>n;
        long long int t=abs(n);
        string str="";
        if(t==0)
        {
            cout<<"0"<<endl;return 0;
        }
        while(t!=0)
        {
            int k=t%16;
            str=a[k]+str;
            t/=16;
        }
        cout<<str<<endl;
        //system("pause");
        return 0;
    }
    
    
    展开全文
  • 20,64,127 转换八进制十六进制输出 #include&lt;stdio.h&gt; int main() { &nbsp;int p; &nbsp;scanf("%d %d %d",&amp;p,&amp;p,&amp;p); &nbsp;printf("%o,%o,...

    变量p连续输入十进制
    20,64,127 转换八进制和十六进制输出
    #include<stdio.h>
    int main()
    {
     int p;
     scanf("%d %d %d",&p,&p,&p);
     printf("%o,%o,%o"\n,p,p,p);
     printf("%x,%x,%x"\n,p,p,p);
     return 0;
    }

    展开全文
  • 十六进制转八进制:问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1&lt;=n&lt;=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要...
  • 十六进制转八进制 问题描述 给定n个十六进制正整数,输出它们对应的八进制数。 输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制...
  • 以下程序的输出结果是 main(){ int a=20; printf("%d,%o,%x\n",a,a,a);...1.题目给出了 a=20这个十进制现在我们需要用十进制转八进制,这里我们采用的就是直接除8取余的方法 2.同理对于10进制转16进制我们也是...
  • 十六进制转八进制 解题思路 数列排序 解题思路 这几道题涉及到java进制转换的函数,一定要记住鸭~   十进制转十六进制 解题思路 import java.util.Scanner; public class Main { public static void ...
  • 10:十进制转十六进制 问题描述:  十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以...
  • 十六进制转十进制问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535 ...
  • 此篇博客是摘抄总结的,巩固基础。...二进制转10进制: int BinarytoDecimal(long long n) { int decimalnumber = 0, i = 0, remainder; while(n!=0) { remainder = n%10; n/=10; decimalnumber +...
  • 这里写目录标题 十进制转十六进制 十六进制转十进制 十六进制转八进制 十进制转十六进制 算法比较简单,辗转相除法,根据除数是否为零来控制循环,存入数组中,再逆序输出。 import java.util.Scanner; /** * Main *...
  • 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。 输入格式 输入一行,包含一个正整数n。 输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。 思路:五位数和六...
  • BASIC-10 十进制转十六进制 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。 它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制...
  • java进制转换(十进制转八进制,十进制转二进制,十六进制转八进制) 这几天在复习C语言的数据结构栈和队列那一章的时候,看到利用栈的特性FILO实现的进制转换十分简洁 想起了java中实现栈的操作十分方便(不用...
  • #include #include #include #include using namespace std; map hex_to_bin; map bin_to_oct; map hex_to_oct; void init() { hex_to_bin['0'] = "0000"; hex_to_bin['1'] = "0001";... hex_to_bin['2'] =
  • 进制转换:二进制、八进制十六进制十进制之间的转换 不同进制之间的转换在编程中经常会用到,尤其是C语言。 将二进制、八进制十六进制转换为十进制 二进制、八进制十六进制十进制转换都非常容易,就是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,129
精华内容 2,451
关键字:

十进制转八进制十六进制