永发信息网

C语言中的进制怎么转换啊

答案:4  悬赏:0  手机版
解决时间 2021-01-04 03:41
C语言中的进制怎么转换啊
最佳答案
前面的是告诉你原理,后面的是告诉你使用,我推荐后面个
sprintf 将字串格式化。
  在头文件 #include<stdio.h>中
  语法: string sprintf(string format, mixed [args]...);
  传回值: 字串
  1. 处理字符方向。-负号时表时从后向前处理。
  2. 填空字元。 0 的话表示空格填 0;空格是内定值,表示空格就放着。
  3. 字符总宽度。为最小宽度。
  4. 精确度。指在小数点后的浮点数位数。
  =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  转换字符
  =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  % 印出百分比符号,不转换。
  b 整数转成二进位。
  c 整数转成对应的 ASCII 字元。
  d 整数转成十进位。
  f 倍精确度数字转成浮点数。
  o 整数转成八进位。
  s 整数转成字串。
  x 整数转成小写十六进位。
  X 整数转成大写十六进位。
全部回答
1. 任意进制之间的进制转换。需要考虑高精度整形的设计,用数组模拟一个整形变量。一位一位的进行进制转换,算法思想和十进制转换到二进制相同,除以目标进制,余数为低位。这种进制转换实用性不强,一般出现在计算机程序竞赛当中。 2. 8,10,16进制的转换。在C语言中有不少函数都能实现上面几种进制之间的进制转换。 推荐其中的sprintf/sscanf函数。 sprintf格式的规格如下所示。[]中的部分是可选的。 %[指定参数][标识符][宽度][.精度]指示符 若想输出'%'本身时, 请使用'%%'处理。 1. 处理字符方向。负号时表示从后向前处理。 2. 填空字元。 0 的话表示空格填 0;空格是内定值,表示空格就放着。 3. 字符总宽度。为最小宽度。 4. 精确度。指在小数点后的浮点数位数。 转换字符 %% 印出百分比符号,不转换。 %c 整数转成对应的 ASCII 字元。 %d 整数转成十进位。 %f 倍精确度数字转成浮点数。 %o 整数转成八进位。 %s 整数转成字符串。 %x 整数转成小写十六进位。 %X 整数转成大写十六进位。 例程(16进制和10进制之间的转换):     #include <stdio.h>       #include <limits.h>       int main()       {           char s[100] = {0};           sprintf(s, "%x", INT_MAX);           printf("%s\n", s); // 7fffffff           char str[100] = "7fffffff";           int i = 0;           sscanf(str, "%x", &i);           printf("%d\n", i); // 2147483647           return 0;        }
用一个函数搞定 任意进制间的转换 #include <stdio.h> #include <string.h> #include <math.h> void f(int a,int b,char s[]) { char r[17]; int i,n,t,k; for(n=strlen(s)-1,i=t=0;*(s+i)!='\0';i++,n--) { if(*(s+i)<='9') t+=(*(s+i)-'0')*int(pow(a,n)); else t+=(*(s+i)-'A'+10)*int(pow(a,n)); } for(i=0;t!=0;i++) { k=t%b; if(k>9)r[i]='A'+k-10; else r[i]='0'+k; t/=b; } r[i]='\0'; s=strrev(r); printf("%s",s); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
驾驶证满分学习过后驾驶证能补办吗
寓言的寓能组什么词
单选题著名诗人雷抒雁曾有一段描写枯树和柔藤
汽车用品公司名称
《妈妈》阅读答案
单选题质量相同的Fe2O3和SO3中氧元素的质量比
单选题下列国家森林覆盖率由大到小排列正确的
“3388”算24点怎么算?
下列各组词语中,没有错别字的一组是A. 和霭
未成年从哪里可以贷款
金立s7手机备份在云端的文件恢复
bios中cpu设置锁死,怎么破
阅读《苏州园林》选段,回答问题。(共10分)
怎么在百度上宣传自己的淘宝店?
poppin的bodywave怎么能让肚子明显突出?
推荐资讯
三星平板SM一T231怎么截屏
日语里的“大切”是什么意思…
同花顺和大智慧有什么不一样 那个好用呢
解答题阅读下列材料,回答问题:2010年6月5日
名图1.6与4081.6t谁性价比高
如何表示含N的式子?
如图是一个由若干大小相同、棱长都为1的小正
侯庄村委会位置在什么地方啊,我要过去办理业
买二手车要注意哪些细节
支付宝钱包怎么退出登录 支付宝钱包怎么更换
你们觉得海南穷吗?全国哪儿最穷?
需要垫上石棉网才能加热的仪器是A.B.C.D.
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?