精华内容
下载资源
问答
  • 进制转换练习

    2015-11-29 17:26:34
    进制转换练习
  •  编写函数将十进制整数按8进制输出,然后编写main函数验证该函数。例如输入12,则输出为:12=014,输入32,则输出32=040。 输入格式  输入一个整数。 输出格式  输出这个整数的八进制形式。 样例输入 12 样例输出...
  • 练习(三) 时间限制: 1 Sec 内存限制: 128 MB [命题人:171360140] 题目描述 李华上大学报的是物联网...十进制---->二进制 0 ----> 0 1 ----&

    练习题(三)

    时间限制: 1 Sec 内存限制: 128 MB
    [命题人:171360140]
    题目描述
    李华上大学报的是物联网专业,在老师介绍完专业后,让同学们学习进制转换,刚开始李华并不会进制转换,他就从最简单的2进制开始学习。下面给你一个10进制的整数,让你求出他的2进制数是多少?
    十进制---->二进制
    0 ----> 0
    1 ----> 1
    2 ----> 10
    3 ----> 11
    输入
    第一行输入一个整数n(0<n<100)
    下面有n行,每行有一个十进制整数x (-65536<x<65536)
    输出
    输出有n行
    每行对应的是转换后的二进制数
    样例输入

    4
    0
    1
    2
    3
    

    样例输出

    0
    1
    10
    11
    

    来源/分类
    寒假练习赛
    题目网址: http://47.112.31.182/problem.php?id=1067
    题意:
    本题就是让求十进制变为二进制,要注意的就是负数问题
    思路:
    对于正整数直接对2取余取商就行了。
    当为负数时(比如十进制的-1):

    1. 先把负数去掉,然后对对2取余取商((十进制1=二进制0000000000000001)
    2. 取反:0变1,1变0(变成1111111111111110)
    3. 加一:最后一位加1,大于等于2向前进一(1111111111111111)
    4. 十进制的(-1)=二进制(1111111111111111)

    16位的也可以用(65536+x)%65536然后再对这个数进行二进制的转换(65535=2的16次方)
    本题用bitset更为简便,不过要注意的是为0的情况
    bitset里面的方法
    在这里插入图片描述
    代码:

    #include <iostream>
    #include <string>   //string容器的头文件
    using namespace std;
    int main()
    {
        string s;   //创建
        int n,x;
        cin>>n; //n组数据
        for(int i=0;i<n;i++)
        {
            s="";   //令s为空
            cin>>x; //十进制数x
            if(x==0)    //x为0时
            {
                s='0';
                cout<<s<<endl;
            }
            else
            {
                x=(x+65536)%65536;  //x+65536再对65536取余
                while(x)
                {
                    if(x%2==1)  //对2取余为1
                        s='1'+s;    //把1加到s前面
                    else    //余数为0
                        s='0'+s;    //把0加到s前面
                    x=x/2;  //对2取商
                }
                cout<<s<<endl;  //输出二进制数(string型s)
            }
        }
        return 0;
    }
    
    

    bitset代码

    #include <bitset>
    #include <algorithm>
    using namespace std;
    int main()
    {
        int x,n;
        bitset<16> a;
        cin>>n;
        while(n--)
        {
            cin>>x;
            a=x;//把十进制的x以二进制存进a中
            if(a.any()==0)  //判断是否存在1
                cout<<"0"<<endl;
            for(int j=15;j>=0;j--)  //倒序输出
            {
                if(a[j]!=0) //去前导0
                {
                    for(int i=j;i>=0;i--)
                    {
                        cout<<a[i];
                    }
                    cout<<endl;
                    break;
                }
            }
        }
        return 0;
    }
    

    运行结果:
    在这里插入图片描述
    总结:
    进制的转换找到了规律就好算多了,不过基础的运算还是要记住的。
    用bitset求二进制更为简便,不过要注意为0的情况

    展开全文
  • 输入一个二进制数(仅由0和1构成的整数),打印出该数对应的十进制数。 输入 第一行是测试数据的组数n,下面的n行每一行是一个二进制数。 输出 输出为n行,分别为对应输入的十进制数。 样例输入 2 11 110 样例输出 3...

    题目描述
    输入一个二进制数(仅由0和1构成的整数),打印出该数对应的十进制数。

    输入
    第一行是测试数据的组数n,下面的n行每一行是一个二进制数。

    输出
    输出为n行,分别为对应输入的十进制数。

    样例输入

    2
    11
    110

    样例输出

    3
    6
    c++:

    #include <iostream>
    #include <string>
     
    using namespace std;
     
    int strToNum(string);
    int pow(int);
    void printArr(int *arr,int);
     
    int main()
    {
        int n;
       cin>>n;
        int *result=new int[n];
        string str;
        for(int i=0; i!=n; ++i)
        {
           cin>>str;
           int tmpResult=strToNum(str);
           result[i]=tmpResult;
        }
     
     
       printArr(result,n);
     
        delete []result;
     
        return 0;
    }
     
    int strToNum(string s)
    {
        int s_len=s.size();
        int t=0;
        for(int i=0,j=s_len-1; i!=s_len; ++i,--j)
           t+=(s[i]-'0')*pow(j);
     
        return t;
    }
     
    int pow(int x)
    {
        int s=1;
       while(x--)
           s*=2;
     
        return s;
    }
     
    void printArr(int *arr,int n)
    {
        for(int i=0; i!=n; ++i)
           cout<<arr[i]<<endl;
     
       return;
    }
    
    展开全文
  • 输入一个整数,输出其二进制 #include #include int main() { int a; char str[0]; scanf("%d", &a); itoa(a, str, 2); printf("%s", str); return 0; }

    输入一个整数,输出其二进制

    #include<stdio.h>
    #include<stdlib.h>
    
    int main()
    {
        int a;
        char str[0];
        scanf("%d", &a);
        itoa(a, str, 2);
        printf("%s", str);
        return 0;
    }
    

    数组的方法:

    #include<stdio.h>
    
    #define N 1000
    
    int fenjie(int a[], int n);
    int shuchu(int a[], int i);
    int main()
    {
        int n, i;
        int a[N];
        scanf("%d", &n);
        i = fenjie(a, n);
        shuchu(a, i);
        return 0;
    }
    
    int fenjie(int a[], int n)
    {
        int i = 0;
        while(n != 0)
        {
            a[i] = n % 2;
            n = n / 2;
            i++;
        }
        return i;
    }
    
    int shuchu(int a[],int i)
    {
        int t;
        for(t = i - 1; t >= 0; t--)
        printf("%d", a[t]);
        return 0;
    }
    
    展开全文
  • 将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。 输入描述: 多组数据,每行为一个长度不超过30位的十进制非负整数。 (注意是10进制数字的个数可能有30个,而非30bits的整数) 输出描述: 每行...

    题目描述

    将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。

    输入描述:

    多组数据,每行为一个长度不超过30位的十进制非负整数。
    (注意是10进制数字的个数可能有30个,而非30bits的整数)

    输出描述:

    每行输出对应的二进制数。

    示例1

    输入

    复制

    0
    1
    3
    8
    

    输出

    复制

    0
    1
    11
    1000
    展开全文
  • 试题 基础练习 十六进制转十进制

    千次阅读 2021-01-22 20:52:15
    试题 基础练习 十六进制转十进制 题目描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注意 十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。 测试用例 ...
  • 华为题库-进制转换

    2020-05-03 20:43:05
    写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。(多组同时输入 ) 输入描述: 输入一个十六进制的数值字符串。 输出描述: 输出该数值的十进制字符串。 示例1 输入 复制 0xA 输出 复制 10 知识...
  • 要求实现一个函数,将正整数n转换为二进制后输出。 函数接口定义: void dectobin( int n ); 函数dectobin应在一行中打印出二进制的n。建议用递归实现。 裁判测试程序样例: #include <stdio.h> void ...
  • hadoop2面试 - 将一个长度超过100位数字的十进制非负整数转换为二进制数(大数据处理).pdf
  • 基础练习 十进制转十六进制 问题描述  十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以...
  • 二进制十进制【难度:0级】: 答案1: using System; namespace Solution { public static class Program { public static int binToDec(string s) { return Convert.ToInt32(s, 2); } } }​ 答案2: using ...
  • #include<stack> #include <iostream> #include<algorithm> using namespace std; void F(int num,int r,stack<int> &s){ while(num!=0){ int k; k=num%r;... ...
  • 一、十六进制转十进制 问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出...
  • Java 自带了成十六进制、八进制、二进制的api。 每3个十六进制数由4个八进制数表示,所以需要将输入的十六进制数每3个拿出来转换一次,考虑到它可能不是3的倍数,可以事先再它前面补上若干个0,但考虑到 长字符串...
  • 将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。 输入 多组数据,每行为一个长度不超过30位的十进制非负整数。 (注意是10进制数字的个数可能有30个,而非30bits的整数) 输出 每行输出对应的...
  • 十进制整数的反码 题目描述: 每个非负整数 N 都有其二进制表示。例如, 5 可以被表示为二进制 “101”,11 可以用二进制 “1011” 表示,依此类推。...给定十进制数 N,返回其二进制表示的反码所对应的十进制整数...
  • 第1节 二进制十进制的由来 第2节 二进制十进制、八进制、十六进制的表示方法 第3节 二进制十进制之间的相互转换 第4节 二进制和八进制之间的相互转换 第5节 二进制和十六进制之间的相互转换 第6节 案例:把...
  • 蓝桥杯题库:十六进制转进制

    万次阅读 2020-05-06 11:35:20
     给定n个十六进制正整数,输出它们对应的八进制数。 输入格式  输入的第一行为一个正整数n (1<=n<=10)。  接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制...
  • 编程 标号 标题 第1章-1 从键盘输入两个数,求它们的和并输出 第1章-2 从键盘输入三个数到a,b,c中,按公式值输出 第1章-3 输出“Python语言简单易学” 第2章-1 计算 11+12+13+…+m 第2章-2 计算...
  •  从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。  注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。 样例输入 FFFF 样例输出 65535 写这道是一个比较悲惨...
  • 关于数码管二进制和十六进制编码的详细知识点可以看这一篇文章 http://www.doc88.com/p-9903156223800.html 这里我只说几个重点 自己的理解吧 这八段分别对应 二进制里面的八位 但它表示出来位数刚好相反 如下图所...
  • 一填空 1十进制数 11.375 转换为二进制数为_二进制数 1101101 转换为十进 制数为_ 2二进制数 110111100101.1011 转换为十六进制数为_ 3二进制数1001011.1转换为十进制数为_ 4用 MOS 器件构成的 RAM 可分为 SRAM_和...
  • 文字描述我没有记录下来,具体要求就是把16进制转成10进制。 eg: Input Output F 15 题目分析 这是我遇到过最简单的题目,直接上代码。 解题代码 我的代码: import sys import math n = input() h='0x'+...
  • 数字逻辑练习 时间限制: 1 Sec 内存限制: 128 ...原码是符号位为 1,数值部分取绝对值的二进制。  反码是符号位为 1,其它位是原码取反。  补码是符号位为 1,其它位是原码取反,未位加 1。    输入一个 64bit
  • 二进制数(1100010110)2表示成十进制数是( )。 (2.0分) 2.0 分 • A、 520 • B、 706 • C、 790 • D、 278 正确答案: C 我的答案:C 2 根据对偶规则,逻辑函数 的对偶函数F’=( )。 (2.0分) 2.0 ...
  • csharp进阶练习:添加二进制数【难度:2级】: 任务: 你必须写一个函数add这需要两个二进制数的字符串并返回它们的和作为一个字符串. 注意: 你不允许二进制转换为十进制和副versa. 总和应该包含任何领导zeroes. ...
  • 距离 2021 年统招专升本考试还有一段时间,相信大家已经在备考的...对于我们熟悉的十进制数如果带有小数,如将1234.56展开,可用下式表示:►将1101B 转换成十进制数►将3BFH转换成十进制数(这是一个16进制数,数码...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,007
精华内容 802
关键字:

十进制转二进制题题库