【无标题】1.17给定一个数将其转换为任意一个进制数(用栈的方法)

复制代码
#include <iostream>
#include<stack>
using namespace std;
int main() {
	int n, k;
	stack<int> stk;
	while (cin >> n >> k) {
		if (n == 0) {
			cout << '0' << endl;
			continue;
		}
		if (n < 0) {
			cout << '-';
			n = -n;
		}while (n) {
			stk.push(n % k);
			n = n / k;
		}
		while (stk.getsize() != 0) {
			int x = stk.pop();
			if (x >= 10) {
				printf("%c", 'A' + x - 10);
			}
			else {
				printf("%d", x);
			}
		}
		cout << endl;
	}
	return 0;
}

总结:要将其转换为一个任意进制的数,只需要先用这个数去对 这个进制数取余,然后再将这个数除以这个进制数。取余的结果就是这个数转换为任意进制的数的结果。

如5转换为二进制数为101 ,4转换为二进制数为100。

相关推荐
Wang's Blog11 小时前
Java 项目实战:交友项目 - 我的访客:需求说明
java·开发语言·交友
東隅已逝,桑榆非晚12 小时前
算法2. 双指针法-复写零
c++·笔记·学习·算法
布莱克60512 小时前
C++ 中堆和栈的区别详解
开发语言·c++·栈·堆
像风一样自由202012 小时前
3.Dockerfile如何构建一个Python算法镜像
开发语言·人工智能·python·大模型
云析赢指标公式网412 小时前
文华财经指标源码笔记:WINNER筹码函数、控盘变量与MACD变体的调试记录
java·笔记·算法
誰能久伴不乏12 小时前
用 UDP 做一条“可靠“的控制通道
c++·qt·网络协议·udp
十五年专注C++开发13 小时前
FlatBuffers: 一个高效的零拷贝二进制序列化库
c++·序列化·反序列化·flatbuffers
BuHuaX13 小时前
Lua 与 ToLua:运行机制及热更新原理
开发语言·unity·junit·c#·lua
xys_67813 小时前
深挖C++:C++入门基础
开发语言·c++