c++ - 以正确的顺序从十进制转换为二进制
问题描述
我是一个完整的 C++ 菜鸟,我们必须在学校做一个程序来计算一个数字的交叉和,然后将该数字转换为二进制数。
我现在遇到的问题是二进制数的顺序相反。我想将数字添加到数组中,然后从右到左计算数组,但我不知道该怎么做。:/
有人可以解释/告诉我怎么做吗?
我正在使用 do while 循环,因为这是任务的要求......
int main()
{
int digit, sum = 0, rem;
cout<<"Enter a positive digit" << endl;
cin >> digit;
do {
sum= sum + (digit%10);
digit /= 10;
}
while (digit!= 0);
cout <<"Cross sum" << sum << endl;
do {
rem = sum % 2;
sum /= 2;
cout << "Decimal in Binary: " << rem << endl;
}
while(sum>0);
return 0;
}
解决方案
此函数将以正确的顺序将十进制打印为二进制:
void decToBin(int n) {
if (n == 0) {
return;
}
decToBin(n / 2);
cout << n % 2;
}
推荐阅读
- nagios - 网关超时 - Nagios 可用性报告
- sapui5 - 在 SAPUI5 中调整对话框大小后如何触发事件?
- kubernetes - 在 Ubuntu 16.04 上执行 kubectl 运行时出现 kubectl 错误
- jmeter - 如何集成 JAVA Request Sampler + Red5-client 库
- ruby-on-rails - 为 Rails 控制器操作显示 jQuery 颜色框
- java - 如何修复编码
- json - 如何遍历 Typescript 中的复杂对象?
- windows - 在桌面加载之前运行登录脚本
- javascript - “Request to ServiceWorker”操作指的是什么?
- xml - 复杂的 XML 解析为 CSV (Python 3.x) (Interactive Broker)