题目1473:二进制数

题目描述:

  大家都知道,数据在计算机里中存储是以二进制的形式存储的。
  有一天,小明学了C语言之后,他想知道一个类型为unsigned int 类型的数字,存储在计算机中的二进制串是什么样子的。
  你能帮帮小明吗?并且,小明不想要二进制串中前面的没有意义的0串,即要去掉前导0。

输入:

第一行,一个数字T(T<=1000),表示下面要求的数字的个数。
接下来有T行,每行有一个数字n(0<=n<=10^8),表示要求的二进制串。

输出:

输出共T行。每行输出求得的二进制串。

样例输入:
5
23
535
2624
56275
989835
样例输出:
10111
1000010111
101001000000
1101101111010011
11110001101010001011
#include<iostream>
using namespace std;

void printbinary( int val)
{
    int arry[1024];
    int k=0;
    if(val==0)
    {
        cout<<0;
    }
    else
    {    while(val)
        {
            arry[k++]=val%2;
            val=val/2;

        }
        for(int i=k-1;i>=0;i--)
        {
            cout<<arry[i];
        }
    }
    cout<<endl;

}

int main()
{
    int count;
    cin>>count;

    for(int i=0;i<count;i++)
    {
        int num;
        cin>>num;
        printbinary(num);
    }
    return 0;
}

或者

#include <stdio.h>
#include <stdlib.h>  

int array[10001];  

int main () {
    int N,i,k;
    unsigned int n;
    while(scanf("%d",&N) != EOF)
    {
        while(N--)
        {
            k = 0;
            scanf("%u",&n);
            if(n == 0)
            {
                printf("0\n");
            }
            else
            {
                while(n)
                {
                    array[k++] = n % 2;
                    n = n / 2;
                }
                for(i = k-1;i >= 0;i--)
                {
                    printf("%u",array[i]);
                }
                printf("\n");
            }
        }
    }
    return 0;
}  

时间: 2024-10-05 05:50:13

题目1473:二进制数的相关文章

九度oj 题目1473:二进制数(stack)

题目1473:二进制数 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:9371 解决:2631 题目描述: 大家都知道,数据在计算机里中存储是以二进制的形式存储的. 有一天,小明学了C语言之后,他想知道一个类型为unsigned int 类型的数字,存储在计算机中的二进制串是什么样子的. 你能帮帮小明吗?并且,小明不想要二进制串中前面的没有意义的0串,即要去掉前导0. 输入: 第一行,一个数字T(T<=1000),表示下面要求的数字的个数.接下来有T行,每行有一个数字n(0<=n

九度OJ 1473 二进制数

题目1473:二进制数 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:5655 解决:1558 题目描述: 大家都知道,数据在计算机里中存储是以二进制的形式存储的. 有一天,小明学了C语言之后,他想知道一个类型为unsigned int 类型的数字,存储在计算机中的二进制串是什么样子的. 你能帮帮小明吗?并且,小明不想要二进制串中前面的没有意义的0串,即要去掉前导0. 输入: 第一行,一个数字T(T<=1000),表示下面要求的数字的个数. 接下来有T行,每行有一个数字n(0<=

转换二进制数(这是一道竞赛形式的题目)。

1. 题目介绍 转换二进制数(这是一道竞赛形式的题目). 时限:3s输人文件: change.in 一串串太多太长的二进制数真是枯燥乏味,难怪小明看着看着就看花眼了;小亮看着看着就睡着了;小晶看着看着就恐慌起来了,仿佛自己变成了机器人,原本丰富多彩的世界一下子成了0和1的汪洋大海.他们一致要求将这些二进制数转换成十进制数,只有这样,心里才安稳,才痛快,睡觉才合得上眼. 这项工作自然就落到你的手里了,因为早就听说你是处理二进制数的高手了,一点也不怀疑你会一下子想出十七八种转换的方法,而且其中还有几

[华为机试练习题]45.求某二进制数中1的个数

题目 描述: 题目标题: 求某二进制数中1的个数. 给定一个unsigned int型的正整数,求其二进制表示中"1"的个数,要求算法的执行效率尽可能地高. 详细描述: 原型: int GetCount(unsigned int num) 输入参数: num 给定的正整数 输出参数(指针指向的内存区域保证有效): 无 返回值: 返回1的个数 举例: 输入13,则对应的二进制是1101,那么1的个数为3个.则:返回3. 练习阶段: 初级 代码 /*--------------------

[华为机试练习题]46.计算二进制数的0的个数

题目 描述: 输入一个10进制数字,请计算该数字对应二进制中0的个数,注意左数第一个1之前的所有0都不需要计算.不需要考虑负数的情况. 题目类别: 位运算 难度: 初级 运行时间限制: 无限制 内存限制: 无限制 阶段: 入职前练习 输入: 要计算的十进制非负数 输出: 二进制中第一个1之后0 的个数 样例输入: 2 样例输出: 1 代码 /*--------------------------------------- * 日期:2015-07-03 * 作者:SJF0115 * 题目:计算二

题目1105:字符串的反码

题目描述: 一个二进制数,将其每一位取反,称之为这个数的反码.下面我们定义一个字符的反码.如果这是一个小写字符,则它和字符'a’的距离与它的反码和字符'z’的距离相同:如果是一个大写字符,则它和字符'A’的距离与它的反码和字符'Z’的距离相同:如果不是上面两种情况,它的反码就是它自身. 举几个例子,'a’的反码是'z’:'c’的反码是'x’:'W’的反码是'D’:'1’的反码还是'1’:'$'的反码还是'$'.    一个字符串的反码定义为其所有字符的反码.我们的任务就是计算出给定字符串的反码.

求二进制数中1的个数(编程之美)

求二进制数中1的个数 继京东618店庆时买的<编程之美>这本书,翻了翻,发现里面的题还是挺有意思的,看起来我们觉得很简单的题目,解法却有很多很多种,真是一个比一个巧妙,于是,决定记录一下. 书中的题目如下 对于一个字节(8bit)的无符号数,求其二进制表示中"1"的个数,要求算法的执行效率尽可能高. 就像书中给我们说的一样,我们一般人可能想到的解决方法如下 int countOne(int n){ int count=0; while(n){ if(n%2==1){ cou

西北工业大学2015年计算机学院考研机试 题目+标程(完整版)

A 求最小数(Output the minimum) 时限:1000ms 内存限制:10000K  总时限:3000ms 描述 每次给定3个数(均可用int表示),要求找出3个数里的最小的一个,并输出最小的数.Input three integers and output the minimum 输入 a b c 三个数用空格隔开Input three integers . 输出 a b c中最小的一个数Output the minimum . 输入样例 5 3 98 输出样例 3 1 #inc

C++读入二进制数并转换为十进制输出

题目描述 已知一个只包含0和1的二进制数,长度不大于10,将其转换为十进制并输出. 输入描述 输入一个二进制整数n,其长度不大于10 输出描述 输出转换后的十进制数,占一行 样例输入 110 样例输出 6 solution: 很多学过C初学C++的人可能想到的是用字符数组形式读入再一位一位计算成十进制输出. 没必要. C++类库提供了二进制数据类,并且可以用其方法转换成十进制. 代码如下: 1 #include <iostream> 2 using namespace std; 3 4 #in