首页 > 其他分享 >三日一练-C语言百题(006)

三日一练-C语言百题(006)

时间:2023-04-10 23:44:08浏览次数:46  
标签:百题 一练 index 2B4AFF8071 C语言 char 006 100 10

进制转换:16进制转10进制

 1 //2018 0306 
 2 C语言 十六进制字符串转十进制
 3 需求:比如我有一个字符串,定义为char * a=“2B4AFF8071”,里面是十六进制表示,
 4 我要每次依次取其中两位比如 2B,转换成十进制“43”,然后再存入另一个字符串char *b或
 5 字符数组char b[],接着取4A,依次循环完,请问要怎么写。
 6 
 7 #include <stdio.h>
 8 #include <string.h>
 9 void main()
10 {
11    int i=0,j=0,result=0,index=0,cindex=0;
12    char a[100],b[100],c[4];
13    gets(a);//输入数据 
14     
15    for(i=0 ; i<strlen(a); i++)
16    {
17            /*将16进制转换成10进制*/
18            if(a[i]>='a' && a[i]<='z')
19                         result = result*16 + a[i]-'a'+10;   //疑问? a< a[i] <z 它是如何比较的?
20             else if(a[i]>='A' && a[i]<='Z')
21                         result = result*16 + a[i]-'A'+10;
22            else
23                         result = result*16 + a[i]-'0';
24            /*每两位处理一次*/
25            if(i%2!=0)
26            {
27                      cindex = 0;
28                      do
29                      {
30                                c[cindex++] = result%10 + '0';//倒序存放在c中 
31                                result/=10;
32                      }while(result!=0);
33                      for(j=cindex-1; j>=0; j--)//翻转后存放在b中 
34                                      b[index++] = c[j];
35            }
36    } 
37    b[index] = '\0';//加上串结束符 
38    puts(b);//输出 
39 }

 

 你好,请问2B4AFF8071这个字符串可否直接写死在定义中,
42 是否可以这样char a[10]={'2','B','4','A','F','F','8','0','7','1'};???
43 追答
44 char a[100]="2B4AFF8071",b[100],c[4];
45    //gets(a);//输入数据
46 这样就可以了
47         /****************************************************/
48 
49     答疑::
50         //疑问? a< a[i] <z 它是如何比较的?
51     /*
52     它们是对字母的ASCII码进行比较,累加,把它们都当作一个字符。    
53     c语言 搜索ASCII码中,A~Z:65-90, a~z:97-122(分别一一对应)。
54 ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)
55 是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,
56 并等同于国际标准ISO/IEC 646。ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。
57 标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0 到9、标点符号,
58  以及在美式英语中使用的特殊控制字符。
59     */

标签:百题,一练,index,2B4AFF8071,C语言,char,006,100,10
From: https://www.cnblogs.com/xiaosanxian/p/17304759.html

相关文章

  • SPECCPU2006的学习与使用
    SPECCPU2006的学习与使用摘要这个周末问题不是很多,陪孩子写作业时顺便研究了下SPEC2006虽然比较落后了.但是总比没有要强一些.其实集团有资源,但是联系不到人,只能自己学习和研究了.找了很多华为博客上面的知识点.但是依旧有很多问题想着先总结这,希望有时间慢慢完......
  • 006.系统目录结构
    Linux 系统目录结构登录系统后,在当前命令窗口下输入命令:ls/ 你会看到如下图所示: 树状目录结构:   以下是对这些目录的解释:/bin:常用bin是Binaries(二进制文件)的缩写,这个目录存放着最经常使用的命令。/root:常用该目录为系统管理员,也称作超级权限者的用户......
  • python系列006
    先使用一个文件控制设备importtime#importpyvisafrompimiimportPiDevicedevice=PiDevice("ASRL3::INSTR")#创建实例,并手动写入地址参数,可以借助NIMax读取whoisPower=device.PiPower()#调用类中的方法,电源地址#Sendacommandtotheinstrument#......
  • MAST20006 离散分布
    MAST20006/MAST90057–Module2.DiscreteDistributionsModule2.DiscreteDistributionsChapter2inthetextbookSophieHautphenneandFengLiuTheUniversityofMelbourne20231/88MAST20006/MAST90057–Module2.DiscreteDistributionsOverview1Discreterandom......
  • 006 用户行为PV&UV统计数据
    一、PV统计(页面访问量)(1)基本概念通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标。网页浏览数是评价网站流量最常用的指标之一,简称为PV。监测网站PV的变化趋势和分析其变化原因是很多站长定期要做的工作。PageViews中的Page一般是指普通的html网页,也包含php......
  • 1006-HBase操作实战(JAVA API模式)
    一、准备阶段开发环境:hadoop: hadoop -2.4.0hbase: hbase -0.94.11-securityeclipse:JunoServiceRelease2二、创建 hbasedemo项目1、通过Eclipse创建一个新Java工程2、右击项目根目录,选择“Propertiesà>JavaBuildPathà>Libraryà> Add Ext......
  • POJ 2773 Happy 2006 二分+容斥原理(二进制枚举或dfs)
    Happy2006TimeLimit: 3000MS MemoryLimit: 65536KTotalSubmissions: 14003 Accepted: 4946DescriptionTwopositiveintegersaresaidtoberelativelyprimetoeachotheriftheGreatCommonDivisor(GCD)is1.Forinstance,1,3,5,7,9...areallrelativel......
  • 每日一练
    1..笑笑买贺卡(贪心算法)题目:新年快到了,笑笑打算给他的好朋友们发贺年卡,而且它已经选好了自己要购买的贺卡的样式.俗话说得好,货比三家,笑笑来到了商店,看了各个商铺这种贺卡的价钱.不仅如此,笑笑还记住了每个商铺的存货量.已知笑笑打算购买m张贺卡,问他最少花多少钱.输入格式:......
  • 每日一练 for循环 、break 加括号和不加括号的区别 break跳出循环
    题目我的答案是246答案是错的正确答案是2,4因为5的时候已经跳出去了还有括号以及那个静态变量很容易误导break是直接跳出循环了所以是2、4没有6了......
  • 渡一教育_每日一练:对象的加载、对象的创建相关知识面试题
    系列文章目录文章目录系列文章目录题目一:对象的加载、对象的创建相关知识面试题题目答案和解析题目一:对象的加载、对象的创建相关知识面试题题目答案和解析用内存图来做就很简单所以我们从上图可以看出,跟类加载机制有关系传参传参完毕之后,就开始执行那个方法了=最终的答案是D......