[保研/考研机试] 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;
}

提交结果:

相关推荐
01二进制代码漫游日记几秒前
【C语言数据结构】之解锁双向链表(头插、头删等操作)
c语言·数据结构·学习·链表
南境十里·墨染春水几秒前
C++流类库 文件流操作
开发语言·c++
C++ 老炮儿的技术栈2 分钟前
工业视觉检测:用 C++ 和 Snap7 库快速读写西门子 S7-1200
c语言·c++·git·qt·系统架构·visual studio·snap
阿Y加油吧5 分钟前
算法二刷复盘:LeetCode 39 组合总和 & 22 括号生成(Java 回溯精讲)
java·算法·leetcode
橙子也要努力变强5 分钟前
信号捕捉的底层机制-内核态和用户态初识
linux·服务器·c++
WL_Aurora10 分钟前
每日一题——自然倍树
数据结构·python·算法·深度优先
水木流年追梦16 分钟前
CodeTop Top 300 热门题目3-字符串相加
java·前端·算法
澈20716 分钟前
内存四区模型详解(栈、堆、全局、常量)
c++·面试·职场和发展
Lazionr16 分钟前
【链表经典OJ-中】
c语言·数据结构·链表
橙子也要努力变强17 分钟前
信号捕捉底层机制-进程与OS
linux·服务器·c++