c语言十进制转二进制
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c语⾔⼗进制转⼆进制
在⼀些⾼级语⾔中都有现成的将各种进制之间的转换函数,c语⾔中没有这种函数,⾃⼰写也很⽅便。
这是我在⼀本书上看到的⼀道题。
题⽬描述:
输⼊⼀个整数,输出该数⼆进制表⽰中1的个数。
其中负数⽤补码表⽰。
输⼊:
输⼊可能包含多个测试样例。
对于每个输⼊⽂件,第⼀⾏输⼊⼀个整数T,代表测试样例的数量。
对于每个测试样例输⼊为⼀个整数。
n保证是int范围内的⼀个整数。
输出:
对应每个测试案例,
输出⼀个整数,代表输⼊的那个数中1的个数。
样例输⼊:
3
4
5
-1
样例输出:
1
2
32
给出我的答案:
1 #include <stdio.h>
2 #include <stdlib.h>
3//int binary[32];
4int main()
5 {
6int i,m,count;
7
8while (scanf("%d",&m)!=EOF)
9 {
10 count=0;
11//memset(binary,0,sizeof(binary));
12for (i=31;i>=0;i--)
13 {
14if (m>>i&1)
15 count++;
16 }
17 printf("%d\n",count);
18 }
19return0;
20//printf("Hello world!\n");
21//return 0;
22 }。