描述
大家都知道,数据在计算机里中存储是以二进制的形式存储的。 有一天,小明学了C语言之后,他想知道一个类型为unsigned int 类型的数字,存储在计算机中的二进制串是什么样子的。 你能帮帮小明吗?并且,小明不想要二进制串中前面的没有意义的0串,即要去掉前导0。
输入描述:
多行,每一行表示要求的数字
输出描述:
输出共T行。每行输出求得的二进制串。
示例1
输入:
23
535
2624
56275
989835
输出:
10111
1000010111
101001000000
1101101111010011
11110001101010001011
思路:
源代码:
#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;
}
文章来源地址https://www.toymoban.com/news/detail-637101.html
提交结果:
文章来源:https://www.toymoban.com/news/detail-637101.html
到了这里,关于[保研/考研机试] KY187 二进制数 北京邮电大学复试上机题 C++实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!