[保研/考研机试] KY187 二进制数 北京邮电大学复试上机题 C++实现

描述

大家都知道,数据在计算机里中存储是以二进制的形式存储的。 有一天,小明学了C语言之后,他想知道一个类型为unsigned int 类型的数字,存储在计算机中的二进制串是什么样子的。 你能帮帮小明吗?并且,小明不想要二进制串中前面的没有意义的0串,即要去掉前导0。

输入描述:

多行,每一行表示要求的数字

输出描述:

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

示例1

输入:

cpp 复制代码
23
535
2624
56275
989835

输出:

cpp 复制代码
10111
1000010111
101001000000
1101101111010011
11110001101010001011

思路:

源代码:

cpp 复制代码
#include<iostream>
using namespace std;

//例题6.1 二进制数
int main()
{
	int num;
	//针对多个输入的情况,只要还有输入,循环就一直进行
	while (cin >> num) {
		string s; //用于保存每次相除的余数
		while (num != 0) {
			s += (char)(num % 2 + '0'); //将每次num对2取模的余数转换成字符类型,并保存到s中
			num /= 2; //将num除以2
		}
		//考虑到测试用例中部分数值最终结果太长,用整型难以存储,直接将字符串s逆序输出即可
		for (int i = s.size() - 1; i >= 0; i--) {
			cout << s[i];
		}
		cout << endl;
	}

	return 0;
}

提交结果:

相关推荐
阿拉伯柠檬2 分钟前
实现一个异步操作线程池
开发语言·数据结构·c++·面试
一只乔哇噻8 分钟前
java后端工程师+AI大模型开发进修ing(研一版‖day61)
java·开发语言·学习·算法·语言模型
2301_803554529 分钟前
Qt禁止子线程直接操作GUI
c++
Cx330❀20 分钟前
Git 基础操作通关指南:版本回退、撤销修改与文件删除深度解析
大数据·运维·服务器·git·算法·搜索引擎·面试
前端小白在前进22 分钟前
力扣刷题:合并两个有序数组
算法·leetcode·职场和发展
羑悻的小杀马特29 分钟前
C++与Redis高效交互:通过optional与迭代器玩转String/List/Set......,打造高性能存储方案!
c++·redis·交互
john_hjy41 分钟前
标量、向量、矩阵、张量
算法·机器学习·矩阵
+++.42 分钟前
c++雪花屏(vsCode+cmake+mingw+ninja)
开发语言·c++·vscode
qq_430855881 小时前
线代第一章行列式第八课:克莱姆法则(Cramer法则)
线性代数·算法·矩阵
小妖6661 小时前
力扣(LeetCode)- 542. 01 矩阵
算法·leetcode·矩阵