2804: 练44.3 二进制串

内存限制:64 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

大家都知道,数据在计算机里面是以二进制的形式存储的。
有一个同学他学习了二进制转换之后,他想自己实际操作一下。现在有一个非负整数 $x$,他想将其转换为二进制,你能帮解决吗?

输入

输入的第一行包含一个整数 $t$($2≤t≤1000$)。
接下来$t$行,每一行有一个数字 $x$($1≤x≤10^8$),是非负整数。

输出

$t$ 行每行一个二进制串,即每个 $x$ 对应的二进制数。(不要有前导零)

样例输入 复制

4
1
2
3
4

样例输出 复制

1
10
11
100

提示

#include<bits/stdc++.h>
using namespace std;
int t,n,i,j;
int main(){
    cin>>t;
    while(t--)
    {
        cin>>n;
        for(i=31;i>=0;--i)
            if(n&(1<<i))
            {
                for(j=i;j>=0;--j)
                    cout<<(bool)(n&(1<<j));
                break;
            }
        cout<<endl;
    }
    return 0;
}