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

数制转换

时间:2023-04-19 22:56:33浏览次数:41  
标签:转换 temp int decimal object char num 数制

自然语言解决问题:该题目主要用来处理不同进制间互相转化,将原数转换成十进制数字,接着求出转换成目标数制后字符数组的长度,并逆序打印字符数组。

具体代码:

#include <stdio.h>
#define MAXCHAR 101
int char_to_num(char ch);

char num_to_char(int num);
long source_to_decimal(char temp[],int source);
int decimal_to_object(char temp[],long decimal_num,int object);
void output(char temp[],int length);

main()
{


int source;
int object;
int length;
long decimal_num;
char temp[MAXCHAR];
int flag=1;
while(flag)
{


printf("转换前的数是:");
scanf("%s",temp);
printf("转换前的数制是:");
scanf("%d",&source);
printf("转换后的数制是:");
scanf("%d",&object);
printf("转换后的数是:");
decimal_num=source_to_decimal(temp,source);
length=decimal_to_object(temp,decimal_num,object);
output(temp,length);
printf("继续请输入1,否则输入0: \n");
scanf("%d",&flag);
}
}
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);
}
long source_to_decimal(char temp[],int source)
{
long decimal_num=0;
int length;
int i;
for(i=0;temp[i]!='0';i++);
length=i;
for(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[],long 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)
{
int i;
for(i=length-1;i>=0;i--)
printf("%c",temp[i]);
printf("\n");
}

标签:转换,temp,int,decimal,object,char,num,数制
From: https://www.cnblogs.com/Mini-Q/p/17334969.html

相关文章

  • FS2455高效率的同步降压DC-DC转换器5A输出电流
    概述FS2455是一种高效率的同步降压DC-DC转换器,具有5A输出电流。 FS2455在4.5V到30V的宽输入电压范围内工作, 集成主开关和同步开关,具有非常低的RDS(ON)以最小化传导损失。 FS2455具有轻载时的应用和高效率。此外,它的工作频率是恒定的在连续导通模式下为500kHz,以使电感器和电容器的......
  • gotenberg+ chromiumly + pdf.js 进行office 文档转换以及预览处理
    日常中office预览是一个比较常见的问题,基于微软的officeonline是一个选择,但是移动端效果不是很好就有pdf以及一些基于生成图片的方案也是不错的,以下是基于gotenberg+chromiumly的一个尝试简单说明gotenberg是基于golang开发的包装了Chromium以及LibreOffice的基于api......
  • 数制转换
    给定一个M进制的数x,实现对x向任意一个非M进制的数的转换。利用字符和数字之间的转换将要变换进制的数进行转换成要求进制的数。#include<iostream>usingnamespacestd;#defineMAXCHAR101intchar_to_num(charch){ if(ch>='0'&&ch<='9') { returnch-'0'; }else{ returnch......
  • 数制转换
    问题描述:给定一个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访问......