c语言转base,C语言转C++简明教程

本文目录一览:

C语言 十进制整数转换成base进制数

#include stdio.h

#include string.h

#include “stdlib.h”

#include conio.h

#define size 100

//定义一个栈

typedef struct

{

int x[size];

int top ;

}stack;

//栈初始化

void init(stack p){

p.top=0;

}

//入栈

int push(stack p,int e){

if (p.topsize)

{

p.x[p.top++]=e;

return 1;

}

return 0;

}

//出栈

int pop(stack p,int e){

if (p.top0)

{

e=p.x[–p.top];

return 1;

}

return 0;

}

//将 n进制数据转化为十进制表示

void td(char s[],int n,int num){

char *p;

int e;

p=s;

num=0;

while(*p){

if(*p=’A’) //16 进制转化

e=*p-‘A’+10;

else

e=*p-‘0’;

p++;

num=num*n+e;

}

}

//将十进制转化为 m 进制

void tp(int num,int m,char s[]){ //

int n=0,e;

char *p;

stack b; init(b);

p=s;

while(num){ //将十进制数据逐位分离 压入栈中 此时 数据为倒序

n=num%m;

if(n9)

e=n-10+’A’;

else

e=n+’0′;

push(b,e);

num/=m;

}

while(pop(b,e)){ //从栈中取出元素,存入数组 s 中 此时 数据为顺序

*p=e;

p++;

}

*p=’\0′; //在数组 尾部加结束标志

}

int check(char s[],int n){

char *p;

p=s;

if(n=10){

while(*p){

if(*p-‘0’n)

return 1;

p++;

}

}

else if(n10){

while(*p){

if(*p=’A’*p-‘A’+10n)

return 1;

p++;

}

}

return 0;

}

void trans(char s[],int n,int m){

int *p,num;

td(s,n,num);

s[0]=’\0′;

tp(num,m,s);

}

void main(){

int n,m;

char s[size],c;

int fp=1; //是否结束的标志

do{

puts(“\t\t\t数据的各个进制之间的转化\n”);

s[0]=’\0′; //数组初始化

printf(“\n输入一个数据: “); gets(s); //读入数据 字符串型

printf(“\b输入原来的进制 和 要转化的进制, 如 10-2 : “);

scanf(“%d%c%d”,n,c,m); //读入 进制转化 由 n进制转化为 m进制 输入形式 如:10-2 16-2

if(check(s,n)) { //判断是否合法

printf(“\n\t错误 !输入的数据与进制不相配, 按任意键,继续输入。”);

getch();

}

else{

printf(“\n结果\n\t\t\t%d 进制 : %s “,n,s);

trans(s,n,m);//转化

printf(“\n \t\t\t%d 进制 : %s \n\n”,m,s); //输出 数据 字符串型

printf(“\t\t\t继续输入 1, 退出输入 0: “);

scanf(“%d”,fp);

}

c=getchar(); //读取 回车键

system(“cls”);

}while(fp);

}

C语言十进制整数转换成base进制数

#includestdio.h

#includestring.h

main()

{

long n;

int base,i,a;

char s[100],*p,*q,t;

scanf(“%ld%d”,n,base);

for(i=0;;i++)

{

a=n%base;

n=n/base;

if(a10)

{

s[i]=a+’0′;

}

else

{

s[i]=a-10+’A’;

}

// 停止转换条件

if(n==0)

{

break;

}

}

s[i+1]=’\0′;/*这是我刚刚补上去的*/

// 高地位倒转

for(p=s,q=s+i;pq;p++,q–)

{

t=*p,*p=*q;*q=t;

}

puts(s);

}

C语言 可以解释解释这里是怎么实现转换成base进制的吗

给你举个例子吧 比如 -18 这个数是你要转换的数字 第一步 x= -18 if (x 0)这里假设你要转换的base是16进制的 也就是说base =16;

下面

{

x = (-1) * x;

}

这个执行后就是将x 换成正数,x现在就是 18 了

下来

remainder = x % base; //x和base相除,所得余数赋给变量remainder

/* 如果余数大于等于10,则将其转换为对应的字母,例如,10对应A,11对应B*/

if (remainder = 10)

{

remainder -= 10;

remainder += ‘A’;

}

/* 如果余数小于10,则将其转换为对应的数字字符,例如,整数0对应字符0*/

else

{

remainder += ‘0’;

是转换的 现在 remainder = x % base 执行后 remainder =2 10 所以转换成’0’+2=’2′ (要是原来的数字是x=31 执行后 remainder =1510,执行的话 remainder =‘A’+15=‘p’ )

bb[k] 用来存放转换的数字 也就是说bb[0]现在是‘2’了。x=1

一直循环

下来的话b[1]=’1’了x=0 循环结束b[2]=’\0’因为字符串最后必须以‘\0’结尾才行 所以程序最后加了个bb[k] = ‘\0′; //给数组bb中的字符串添加一个字符串结束标志’\0’

懂了吧?

原创文章,作者:DGNR,如若转载,请注明出处:https://www.506064.com/n/141231.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
DGNRDGNR
上一篇 2024-10-04 00:24
下一篇 2024-10-04 00:24

相关推荐

  • MQTT使用教程

    MQTT是一种轻量级的消息传输协议,适用于物联网领域中的设备与云端、设备与设备之间的数据传输。本文将介绍使用MQTT实现设备与云端数据传输的方法和注意事项。 一、准备工作 在使用M…

    编程 2025-04-29
  • Python3.6.5下载安装教程

    Python是一种面向对象、解释型计算机程序语言。它是一门动态语言,因为它不会对程序员提前声明变量类型,而是在变量第一次赋值时自动识别该变量的类型。 Python3.6.5是Pyt…

    编程 2025-04-29
  • Deepin系统分区设置教程

    本教程将会详细介绍Deepin系统如何进行分区设置,分享多种方式让您了解如何规划您的硬盘。 一、分区的基本知识 在进行Deepin系统分区设置之前,我们需要了解一些基本分区概念。 …

    编程 2025-04-29
  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • 写代码新手教程

    本文将从语言选择、学习方法、编码规范以及常见问题解答等多个方面,为编程新手提供实用、简明的教程。 一、语言选择 作为编程新手,选择一门编程语言是很关键的一步。以下是几个有代表性的编…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • Qt雷达探测教程

    本文主要介绍如何使用Qt开发雷达探测程序,并展示一个简单的雷达探测示例。 一、环境准备 在开始本教程之前,需要确保你的开发环境已经安装Qt和Qt Creator。如果没有安装,可以…

    编程 2025-04-29
  • 猿编程python免费全套教程400集

    想要学习Python编程吗?猿编程python免费全套教程400集是一个不错的选择!下面我们来详细了解一下这个教程。 一、课程内容 猿编程python免费全套教程400集包含了从P…

    编程 2025-04-29
  • OpenJudge答案1.6的C语言实现

    本文将从多个方面详细阐述OpenJudge答案1.6在C语言中的实现方法,帮助初学者更好地学习和理解。 一、需求概述 OpenJudge答案1.6的要求是,输入两个整数a和b,输出…

    编程 2025-04-29

发表回复

登录后才能评论