51单片机c语言16进制数转换10进制数,51单片机C语言里 怎样将16进制 直接化成 10进制...
满意答案
xzwyq
2013.10.13
采纳率:44% 等级:12
已帮助:16962人
我这儿有一个进制转换的程序,你可以参考一下:
#include
#include
#include
int count=0;
void *tentoBOH(int a,int n)
{
int t,i=0,j,str[50],*p;
char str1[50],*q,temp;
while(a!=0)
{
t=a%n;
if(n==16)
{
if(t<=9&&t>=0)str1[i++]=(char)('0'+t);
if(t>9&&t<16)str1[i++]=(char)('A'-10+t);
}
else
str[i++]=t;
a=a/n;
count++;
}
for(i=0,j=count-1;i
{
t=str[i];
str[i]=str[j];
str[j]=t;
temp=str1[i];
str1[i]=str1[j];
str1[j]=temp;
}
if(n==16)
return q=str1;
else
return p=str;
}
int BOHtoTen(char str[],int n)
{
int len,i,a=0;
char t;
len=(int)strlen(str);
for(i=0;i
{
t=str[i];
str[i]=str[len-1-i];
str[len-1-i]=t;
}
i=0;
while(str[i]!='\0')
{
if(str[i]>='0'&&str[i]<='9')
a+=(str[i]-'0')*(int)pow(n,i);
if(str[i]>='a'&&str[i]<='f')
a+=(str[i]-'a'+10)*(int)pow(n,i);
if(str[i]>='A'&&str[i]<='F')
a+=(str[i]-'A'+10)*(int)pow(n,i);
i++;
}
return a;
}
void main()
{
int a,i,n,m,*p;
char *q,str[20];
printf("请输入一个十进制数a= ");
scanf("%d",&a);
printf("请输入一个进制数n= ");
scanf("%d",&n);
if(n==16)q=tentoBOH(a,n);
else p=tentoBOH(a,n);
printf("输出正整数%d的%d进制为:",a,n);
if(n==16)
for(i=0;i
printf("%c",*(q+i));
else
for(i=0;i
printf("%d",*(p+i));
printf("\n请输入字符串str= ");
scanf("%s",str);
printf("\n请输入该字符串的进制m= ");
scanf("%d",&m);
printf("\n该%d进制数%s转换成十进制数为:%d\n",m,str,BOHtoTen(str,m));
}
02分享举报
51单片机c语言16进制数转换10进制数,51单片机C语言里 怎样将16进制 直接化成 10进制...相关推荐
- 16进制换成10进制 c语言 单片机,单片机入门之三种进制的转换
单片机使用的两大进制表示形式:十进制和十六进制. (这里使用十进制的数据) (这里使用十六进制的数据) 十进制一般用于运算,表示形式就是直接写,例如上面的1701. 十六进制一般用于配置单片机的寄存器 ...
- 【C语言数据结构与算法的应用4】巨大数----加减乘运算(万进制和Mec补码的应用)
巨大数 什么是巨大数 目的 巨大数的加法 巨大数的存储 万进制 微易码补码 巨大数的减法 巨大数的乘法 总结 什么是巨大数 巨大数其实就是有效数字位很大,可表示数的大小超过了int 的表示范围:[-2 ...
- QT 16进制数转换成QString显示
/* * 16进制数转换成QString显示 */ QString hexToString(unsigned char *in, int len) { int i; unsigned char i ...
- c语言程序10进制转8进制数,C ++程序将十进制数转换为八进制
在计算机系统中,八进制数字以八进制数字表示,而十进制数字以十进制数字表示.八进制数以8为底,十进制数以10为底. 十进制数及其对应的八进制数的示例如下.小数八进制数810 70106 2531 77 ...
- c++描述将一个2进制数转化成10进制数(用到初始化栈,进栈,入栈)
1 /* 2 c++描述将2进制数转化成10进制数 3 问题,1.初始化栈后,用new,不知道delete是否要再写一个函数释放内存, 4 还是在哪里可以加上delete 5 2.如果栈满了,我要分配 ...
- C语言递归函数实现十位数转换进制并打印出来(超详细)
C语言递归函数实现十位数转换进制并打印出来 思路 事例 代码 思路 取余倒排序 将数字每次除以进制数的余数打印,但这样不是倒排序,通过将打印操作写在调用递归函数下面,可以在每次调用递归函数时将 ...
- 编程实现将一个N进制数转换成M进制数
问题:编程实现将一个N进制数转换成M进制数.(c/c++.Java.Javascript.C#.Python) 1.Python 手写算法版 def conversion_num(num, src, ...
- hive转16进制unhex_Java 进制的转换
什么是进制? 进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的"正"字计数法,以及类似的tally mark计数). 对 ...
- 基于51单片机控制的篮球比赛计时、计分系统设计与仿真(含设计图和C语言程序源码)
1. 设计任务: 2. 设计说明 2.1 需求分析 2.1.1 计分系统: 2.1.2 计时系统: 2.2 原理分析 2.3 总体设计 2.4 软硬件设计 2.4.1 硬件设计 2.4.2 软件设计 ...
最新文章
- CSS捡屎记 // Web开发之精通CSS
- centos ipsec tunnel 配置
- python入门23 pymssql模块(python连接sql server增删改数据 )
- react 16.6 懒加载 Lazy 尝鲜
- ‘cnpm‘ 不是内部或外部命令,也不是可运行的程序
- SQL 之后,GQL 成为 ISO/IEC 国际标准数据库语言项目
- vue ----axios
- Apache Flink Meetup 8.7 深圳站改为线上
- atitit.jndi的架构与原理以及资源配置and单元测试实践
- Axure RP入门知识-基础功能介绍
- 分析微博游戏名人数据
- 建立一个电脑网络至少需要两台计算机,两台电脑想共享一台打印机,需要什么条件?...
- 若依前后端分离打包发布(jar,nginx)
- 哈曼推出Savari MECWAVE:超低时延边缘计算平台提供交钥匙式互联服务
- Java快速开发框架_若依——Ruoyi-SpringCloud版本-2.安装redis服务端和客户端-win7
- 【QNX Hypervisor 2.2 用户手册】1.5 内存
- 大数据:数据仓库设计
- Q1营收净利双双超预期 为何转型中的陆金所驱动力不足?
- 第二次修有关路基和隧道的CASIO 5800P 万能曲线计算程序可以正反标
- 分支限界法—任务分配问题