栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++数据结构 栈与递归 实现十进制转换

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++数据结构 栈与递归 实现十进制转换

今天写题碰到需要将十进制转为八进制,搜了一圈发现普遍为两种:一,输出函数使用格式串%控制。二,一些c++的库函数,不过返回值有较多限制,大多为string型。

联系到近期数据结构学的栈与递归,在草稿纸上模拟几遍后,写出了一个简洁的函数用于进制转换。

代码如下:

//因为进制取余结果和输出顺序恰恰相反,故使用栈来保存余数
void f(int n,int k,stack &s)
{//n 为十进制待转换的数,k 为所需换成的进制(10以内),s 为保存结果的栈
	if(n 

main函数如下:

#include
#include 
#include 
using namespace std;

int main(){
	int n,k;
	stack s;
	 while(true)
	 {  cout<<"请输入需转换的十进制数:";
		cin>>n;
		cout<<"请输入需转换成的进制:";
		cin>>k;
		f(n,k,s);
		cout<<"十进制数"< 

测试截图如下:

 ...

至于其他进制与十进制之间的转换 可用这个一元多次多项式来描述,系数为对应进制上的数值,x即为权值,也就是x进制。

基于这样的描述,使用多项式的数据结构来实现其他进制向十进制转换了也确实可行。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/352924.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号