永发信息网

输入一个10进制正整数(小于等于10^6),让你把它转换成2进制。 输入 第一行一个整数d(1<=d<=10),表示测

答案:5  悬赏:0  手机版
解决时间 2021-01-28 19:03
输入一个10进制正整数(小于等于10^6),让你把它转换成2进制。
输入
第一行一个整数d(1<=d<=10),表示测试数据个数
以下d行,每行一个10进制正整数。
输出
d行对应每个测试数据,把转换成的2进制数中哪一位是1的位数输出,按升序排列。(比如说13转化成2进制为1101,它的第3位是1,第2位是1,第一位是0,第0位是1,所以输出 0 2 3)
注意要有空格!

Sample Input
1
13
Sample Output
0 2 3
最佳答案
#include <iostream>
using namespace std;

int main() {
int n,m;
while(cin >> n) {//n组数据
for(int i = 0; i < n; i++) {
cin >> m;
int bit,cnt = 0;
while(m) {
bit = m%2;
if(bit == 1) //判断是否为1
cout <<cnt;
cnt++;
m/=2;
if(m != 0 && bit == 1)
cout << " ";
bit = 0;//控制空格的输出
}
cout << endl;
}
}
return 0;
}
全部回答
1
提供一个思路给你吧。 十进制正整数转2进制是除2取余。 比如:20转2进为: 20/2 0 10/2 0 5/2 1 2/2 0 1 1 即20的2进制为:10100(2^4+2^2=20);你可以根据这个思路来。
可以用联合来做啊。。。配合字段结构就行了。 struct A { unsigned short b0:1,b1:1,b2:1,b3:1,b4:1,b5:1,b6:1,b7:1,b8:1, b9:1,b10:1,b11:1,b12:1,b13:1,b14:1,b15:1; } union{ unsigned long int x; struct A y; } 使用的时候先对x进行赋值,然后依次取用字段结构的各个元素就行了
可以用联合来做啊。。。配合字段结构就行了。 struct A {
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一书阁少儿书画美育机构(民富路)地址在什么地
NikeKids(百联又一城店)地址在哪,我要去那里
我种的仙人掌边上长了一棵圆柱形的,和种的不
【怎么推销自己的产品】怎么写五年级上册第二
爱贝国际少儿英语(梦时代中心)怎么去啊,我要
爱婴室(沈阳路店)地址在什么地方,想过去办事
格尺的意思是什么啊?知道的请说下!
交通事故,协商赔的钱,保险公司只赔一部分,
华为AM180耳机能适配p7么,都适配华为哪些机
读“20世纪死亡千人以上的灾害分布示意图”,
襄阳优尼克轴承科技公司地址在什么地方,想过
一书阁少儿书画美育机构(南昌青山湖区)地址有
乐智小天地(五角场宝大祥店)地址在什么地方,
甲醛对人体有哪些危害
连约的意思是什么啊?知道的请说下!
推荐资讯
建设银行信用卡输入名字能找到尾数码吗
嘲风咏月的意思是什么啊?知道的请说下!
精业图文广告(秣陵街道将军大道139号瑞年国际
Have your a sister这样的用法对么
完形填空IarrivedintheUnitedStatesonF
女友突然跟我说合不上了是什么意思
凉驳的意思是什么啊?知道的请说下!
C1驾驶本能开蓝牌照1。5吨的货车吗?
描写武器装备对一个国家重要的诗句有哪些
若tanα=2,则2sinα?cosαsinα+2cosα
我家的鸽子孵出来两只小鸽子,今天下午却发现
大王小王的公众号
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?