首页 > 其他分享 >数制转换

数制转换

时间:2023-04-19 20:34:39浏览次数:29  
标签:转换 temp int decimal object char num 数制

给定一个M进制的数x,实现对x向任意一个非M进制的数的转换。

利用字符和数字之间的转换将要变换进制的数进行转换成要求进制的数。

#include<iostream>
using namespace std;
#define MAXCHAR 101
int char_to_num(char ch)
{
if(ch>='0'&&ch<='9')
{
return ch-'0';
}else{
return ch-'A'+10;
}
}
char num_to_char(int num)
{
if(num>=0&&num<=9)
{
return (char)('0'+num-0);
}else{
return (char)('A'+num-10);
}
}
int source_to_decimal(char temp[],int source)
{
int decimal_num;
int length;
int i;
for(int i=0;temp[i]!='\0';i++);
length=i;
for(int i=0;i<=length-1;i++)
{
decimal_num=(decimal_num*source)+char_to_num(temp[i]);
}
return decimal_num;
}
int decimal_to_object(char temp[],int decimal_num,int object)
{
int i=0;
while(decimal_num)
{
temp[i]=num_to_char(decimal_num%object);
decimal_num=decimal_num/object;
i++;
}
temp[i]='\0';
return i;
}
void output(char temp[],int length)
{
for(int i=length-1;i>=0;i--)
{
cout<<temp[i]<<endl;
}
}
int main()
{
int source,object,length,decimal_num;
char temp[MAXCHAR];
int flag=1;
while(flag)
{
cout<<"转换前的数制是:";
cin>>source;
cout<<"转换前的数是:";
cin>>temp;
cout<<"转换后的数制是:";
cin>>object;
cout<<"转换后的数是:";
decimal_num=source_to_decimal(temp,source);
length=decimal_to_object(temp, decimal_num,object);
output(temp,length);
cout<<"继续请输入1,否则输入0:"<<endl;
cin>>flag;
}
return 0;
}

 

标签:转换,temp,int,decimal,object,char,num,数制
From: https://www.cnblogs.com/618zyk/p/17331014.html

相关文章

  • 数制转换
    问题描述:给定一个M数制的整数x,转换为N数制的数并输出;问题分析:数制的任意转换需要清除数制与数制之间的转换关系,一般来说十进制与其他数制的转换是较为简单和有规律的;所以可以先将改数制转换为十进制数再转换为N进制数;算法设计:1.输入一个整数M作为其起始的数制2.输入一个M数制......
  • java -- 缓冲流、转换流、序列化流
    缓冲流缓冲流,也叫高效流,按照数据类型分类:字节缓冲流:BufferedInputStream,BufferedOutputStream字符缓冲流:BufferedReader,BufferedWriter缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。字节缓......
  • 字符串转换方法
    字符串转换方法字符串转换函数转换为字符数组转换为字节数组将旧字符串替换为新字符串代码示例publicclassDemo02{publicstaticvoidmain(String[]args){//替换为字符数组//使用toCharArray方法char[]chars="abcdef".to......
  • java 用 Java 将 HashMap 转换为 TreeMap 的程序
    转载自:https://www.moonapi.com/news/24923.html HashMap 是Java1.2以来Java集合的一部分。它提供了以(键、值)对存储数据的JavaMap接口的基本实现。要访问HashMap中的值,必须知道它的键。哈希映射被称为哈希映射,因为它使用哈希技术来存储数据。Java中的树图和抽象......
  • hdoj 夹角有多大(题目已修改,注意读题) 2076 (数学&转换)
    夹角有多大(题目已修改,注意读题)TimeLimit:1000/1000MS(Java/Others)    MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):13233    AcceptedSubmission(s):5214ProblemDescription时间过的好快,一个学期就这......
  • hdoj The sum problem 2058 (数学等差公式&技巧转换)
    ThesumproblemTimeLimit:5000/1000MS(Java/Others)    MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):21416    AcceptedSubmission(s):6287ProblemDescriptionGivenasequence1,2,3,......N,yourjob......
  • 用Putty转换ppk和pem格式
    Ubuntu下安装puttysudoaptinstallputty-toolsCentos下安装puttyyuminstallputty命令:puttygenkey.ppk-Oprivate-openssh-okey.pem注意:第一个-O,O是大写,第二个-o,o是小写Windows下用Putty点Load打开ppk文件,然后Conversion选ExportOpenSSHkey注:SFTP访问用ppk,SSH访问......
  • 矩阵左乘与右乘和旋转矩阵、坐标转换
    (1封私信/82条消息)如何通俗理解矩阵左乘和右乘的区别?-知乎(zhihu.com) ......
  • JavaScript 隐式类型转换有哪些副作用
    JavaScript隐式类型转换有哪些副作用在JavaScript中,隐式类型转换指的是在运行时自动将一个数据类型转换为另一个数据类型。虽然JavaScript中的隐式类型转换有时可以使代码更简洁,但也会带来一些副作用,包括:难以预测的结果:由于JavaScript在隐式类型转换时会自动进行一些操......
  • VB调用sql server 的数据转换服务(DTS)
    先在sqlserver的数据转换服务(DTS)中新建DTS包,保存为*.dts文件,VB中调用一下即可。    注:工程--引用---MicrosoftDTSPackage....选中。    -------------------------------------------------- PrivateSubRunPackage(ByValSAsString)'S......