BUPT OJ95 二进制数

来源:互联网 发布:淘宝优惠券软件叫什么 编辑:程序博客网 时间:2024/05/17 00:18

题目描述

大家都知道,数据在计算机里中存储是以二进制的形式存储的。

有一天,小明学了C语言之后,他想知道一个类型为unsigned int 类型的数字,存储在计算机中的二进制串是什么样子的。

你能帮帮小明吗?并且,小明不想要二进制串中前面的没有意义的0串,即要去掉前导0。

输入格式

第一行,一个数字T(T<=1000),表示下面要求的数字的个数。

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

输出格式

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

输入样例

523535262456275989835

输出样例

101111000010111101001000000110110111101001111110001101010001011


用位运算实现了二进制各位的存储, 顺便一提, a>>=1等价于a=a>>1


/*USER_ID: test#birdstormPROBLEM: 95SUBMISSION_TIME: 2014-03-01 22:32:36*/#include <stdio.h> main(){    int n, a, k=0, s[100];    scanf("%d",&n);    while(n--){        scanf("%d",&a);        if(a==0)        {            puts("0");            continue;        }        while(a) s[k++]=a&1, a>>=1;        do printf("%d",s[k-1]); while(--k);        puts("");    }    return 0;}


0 0
原创粉丝点击