栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

3554. 二进制

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

3554. 二进制

给定一个长度为 32 位的二进制数 n,请你计算并输出 n+1 和 n+3 的二进制表示结果。

注意,结果不能忽略前导 0(不够 32 位的用前导 0 补足 32 位,超过 32 位的不用补前导 0)。

输入格式 第一行包含整数 T,表示共有 T 组测试数据。

每组数据占一行,包含一个长度为 32 的 01 字符串。

输出格式 每组数据输出两行,第一行为 n+1 的二进制表示结果,第二行为 n+3 的二进制表示结果。 数据范围 1≤T≤100 输入样例:
2
00000000000000000000000000000000
00000000000000000000000000000001
输出样例:
00000000000000000000000000000001
00000000000000000000000000000011
00000000000000000000000000000010
00000000000000000000000000000100
C++代码:
#include
#define pb push_back
typedef long long LL;
using namespace std;

LL POW(int y) {
    LL res = 1;
    for(int i = 1; i <= y; i ++) res <<= 1;
    return res;
}

string Trans(LL x) {
	LL tmp = x;
	vector s;
	
	while(tmp != 0) {
		s.pb(tmp % 2);
		tmp /= 2;
	}
	
	string s1;
	for(int i = (int)s.size() - 1; i >= 0; i --) 
		s1 += (s[i] + '0');
	
	string s2;
	int res = 32 - s1.length();
	
	for(int i = 0; i < res; i ++) s2 += '0';
	string ans = s2 + s1;
	
	return ans;
}

LL sol(string s) {
    LL res = 0;
    for(int i = 0; i < 32; i ++) {
        int t = s[i] - '0';
        res += (LL)t * POW(31 - i);
    }
    
    return res;
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	
	int tt;
	cin >> tt;
	
	while(tt --) {
		string s;
		cin >> s;
		
		if(s == "11111111111111111111111111111111") {
			cout << "100000000000000000000000000000000" << 'n';
			cout << "100000000000000000000000000000010" << 'n';
		} else if(s == "11111111111111111111111111111110") {
			cout << "11111111111111111111111111111111" << 'n';
			cout << "100000000000000000000000000000001" << 'n';
		} else if(s == "11111111111111111111111111111101") {
			cout << "11111111111111111111111111111110" << 'n';
			cout << "100000000000000000000000000000000" << 'n';
		}
		else {
			LL x = sol(s);
			string s1 = Trans(x + 1);
			string s3 = Trans(x + 3);
		
			cout << s1 << 'n';
			cout << s3 << 'n';
		}
	}
	
	return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1009999.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号