怎么用c语言实现十六进制转换成八进制?

提示是先把十六进制转换成二进制,再把二进制转换成八进制,求大神帮忙!!

2个回答

用不着任何转换。

计算机里面,都是二进制数。

以 16 进制数、八进制数显示,即可。

C语言自带进制转换函数atoi和itoa,可以直接调用,用法可搜索查阅。
如果自己实现的话,参考链接:
http://zhidao.baidu.com/link?url=C-58nz8p9AnCLmVquK__gfHMwafY3WWnw5vWvUMq255wMXYtkGd0ELzATvec1PQn1YPtvW6auhSxgTsmo-M7Fh8t1kQC9HleJGvY1HH46nC

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何用c语言把十进制纯小数转换成二进制,八进制,十六进制。求代码?谢谢

如何用c语言把十进制纯小数转换成二进制,八进制,十六进制。求代码?谢谢

关于C语言十六进制以及补码原码的疑问

有这样一道题目 ``` int main() { char x=0xFFFF; printf("%d\n",x--); } ``` 题目最后的答案是输出-1 在网上查了相关资料,说是关于补码与原码转换的 但是看完之后仍然觉得有疑问 疑问1:十六进制在内存中是否是转化为二进制原码之后再以补码储存的? 疑问2:后面那个x--的作用是什么呢? 疑问3:自减符号是不是在二进制运算上相当于原来的补码加了个负一的补码? 求大佬解答

如何输出有符号的八进制或十六进制,进一步的,八进制和十六进制有没有负数呢?

看C Primer Plus时,printf()的转换说明符定义的%o和%x是 无符号八进制整数和无符号十六进制整数; 那么是否存在有符号的八进制整数和十六进制整数的转换说明符呢? 进一步的,八进制和十六进制有没有负数呢?

用C语音将浮点数和16进制相互转换

类似下图的转换,用IEEE-754,C语音编码,求高手帮助,在线等 ![![图片说明](https://img-ask.csdn.net/upload/201510/11/1444535418_35200.png)图片说明](https://img-ask.csdn.net/upload/201510/11/1444535408_283416.png)

C语言要求将16进制数转换为8进制数,编写了代码,但是不能按题目要求输入输出,请大神帮忙解答,谢谢!

问题描述   给定n个十六进制正整数,输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n (1<=n<=10)。   接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式   输出n行,每行为输入对应的八进制正整数。 注意   输入的十六进制数不会有前导0,比如012A。   输出的八进制数也不能有前导0。 样例输入 2 39 123ABC 样例输出 71 4435274 我的代码: #include<stdio.h> #include<string.h> #include<stdlib.h> void main() { int n,num,k,sum; int res[100]={0}; int j;//这个res[100]表示8进制数的数组序列 scanf("%d",&n); getchar(); //如果用scanf后面一定要加一个getchar()来吸收回车字符 while(n--) { char str[10]={0}; //每次循环都应该初始化,而不仅仅是开头 gets(str); sum=0; //同上 k=1; //int res[100]={0}; for(int i=strlen(str)-1;i>=0;i--) //数组下标的最大值比它的长度小一 { if(str[i]>='A' && str[i]<='F') { num=str[i]-'A'+10; sum+=num*k; k*=16; } if(str[i]>='0' && str[i]<='9') { num=str[i]-'0'; sum+=num*k; k*=16; } } //printf("%d\n",sum);//这是16进制转化为10进制的结果 j=0; while(sum!=0) { res[j]=sum%8; j++; sum=sum/8; } for(int t=j-1;t>=0;t--) printf("%d",res[t]); printf("\n"); } }

菜鸟求助!!C语言用栈写的十进制转二进制 八进制和十六进制 死都运行不出来!求大神指点!

#include <stdio.h> #include <stdlib.h> #include <malloc.h> #define OK 1 #define ERROR 0 #define OVERFLOW -1 typedef int Status; typedef int ElemType; #define S_SIZE 100 #define STACKINCREAMENT 10 typedef struct{ int *base; int *top; int stacksize; }SqStack; Status InitStack(SqStack &S) { S.base=(int *)malloc(S_SIZE * sizeof(int)); if(!S.base)exit(OVERFLOW); S.top=S.base; S.stacksize=S_SIZE; return OK; } Status GetTop(SqStack S,int &e){ if(S.top==S.base) return ERROR; e=*(S.top-1); return OK; } Status Push(SqStack &S,int e){ if(S.top-S.base>=S.stacksize){ S.base=(int *)realloc(S.base,(S.stacksize+STACKINCREAMENT)*sizeof(int)); if(!S.base)exit(OVERFLOW); S.top=S.base+S.stacksize; S.stacksize+=STACKINCREAMENT; } *S.top++=e; return OK; } Status Pop(SqStack &S,int &e){ if(S.top==S.base)return ERROR; e=*--S.top; return OK; } Status StackEmpty(SqStack S) { if(S.top==S.base) return OK; else return ERROR; } Status GetTop(SqStack S,int e){ if(S.top){ if(S.top==S.base)return ERROR; e=*(S.top-1); printf("%d",e); return OK; } void ba(int N){ InitStack(S); scanf("%d",N); while(N){ Push(S,N%8); N=N/8; } while(!StackEmpty(S)){ Pop(S,e); printf("%d",e); } } void er(int M){ InitStack(S); scanf("%d",M); while(M){ Push(S,M%2); M=M/2; } while(!StackEmpty(S)){ Pop(S,e); printf("%d",e); } } void shiliu(int C){ InitStack(S); scanf("%d",C); while(C){ if(C%16<=9) Push(S,C%16); else switch(C%16){ case 10:Push(S,'A');break; case 11:Push(S,'B');break; case 12:Push(S,'C');break; case 13:Push(S,'D');break; case 14:Push(S,'E');break; case 15:Push(S,'F');break; } C=C/16; } } void main(){ int a; int b; InitStack(SqStack &S); printf("输入需要转换进制的数字:"); scanf("%d",&a); printf("\n"); printf("输入转后的进制:"); scanf("%d",&b); switch(b){ case 2: er(a);GetTop(&S,e);break; case 8: ba(a);GetTop(&S,e);break; case 16: shiliu(a);GetTop(&S,e);break; } } ![图片说明](https://img-ask.csdn.net/upload/201610/18/1476802618_176306.png)

编写一个递归函数,将任意的十进制正整数转换为八进制数(不要用C语言,没学过,用C++)

编写一个递归函数,将任意的十进制正整数转换为八进制数(不要用C语言,没学过,用C++)

C++,编写一个递归函数,将任意的十进制正整数转换为八进制数

编写一个递归函数,将任意的十进制正整数转换为八进制数,要求用C++语言,递归函数

C语言问题求解答!!!!

编写十进制数到二进制、八进制、十六进制间的转换程序。要求:键盘输入一个十进制的数,输出其对应的二进制、八进制、十六进制数。小数部分可以只输出8位以内

C,c++数制转换问题,为什么提交不了

问题描述   给定n个十六进制正整数,输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n (1<=n<=10)。   接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式   输出n行,每行为输入对应的八进制正整数。 注意   输入的十六进制数不会有前导0,比如012A。   输出的八进制数也不能有前导0。 样例输入 2 39 123ABC 样例输出 71 4435274 提示   先将十六进制数转换成某进制数,再由某进制数转换成八进制。 #include"stdio.h" int main() { int n,a[20]; int i; scanf("%d",&n); for(i=1;i<=n;i++) scanf("%x",&a[i]); for(i=1;i<=n;i++) printf("%o\n",a[i]); return 0; } ![图片说明](https://img-ask.csdn.net/upload/201509/20/1442759767_663200.png)

蓝桥杯C语言题目(16进制转化8进制),结果验证无误但是评分是0分???

问题描述   给定n个十六进制正整数,输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n (1<=n<=10)。   接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式   输出n行,每行为输入对应的八进制正整数。   【注意】   输入的十六进制数不会有前导0,比如012A。   输出的八进制数也不能有前导0。 样例输入   2   39   123ABC 样例输出   71   4435274   【提示】   先将十六进制数转换成某进制数,再由某进制数转换成八进制。 我的代码: #include<stdio.h> #include<string.h> #include<math.h> #include<stdlib.h> #define LEN sizeof(char)*10+1 long long change16to10(char *p,int len) { long long sum=0; int i; for(i=len-1;i>=0;i--) if(*(p+i)>='A'&&*(p+i)<='F')sum=sum+(*(p+i)-'A'+10)*pow(16,len-i-1); else if(*(p+i)>='0'&&*(p+i)<='9')sum=sum+(*(p+i)-'0')*pow(16,len-i-1); return sum; } long long change10to8(long long n) { int i=0; long long sum=0; while(n) { sum=sum+(n%8)*pow(10,i); i++; n/=8; } return sum; } int main() { char*a[10]; int i,len=0,n; scanf("%d",&n); for(i=0;i<n;i++) { a[i]=(char*)malloc(LEN); scanf("%s",a[i]); } for(i=0;i<n;i++) { len=strlen(a[i]); printf("%lld\n",change10to8(change16to10(a[i],len))); } for(i=0;i<n;i++) free(a[i]); return 0; } 另行代码,为以上的简化: #include<stdio.h> #include<string.h> #include<math.h> #include<stdlib.h> #define LEN sizeof(char)*10+1 long long change16to10(char *p,int len) { long long sum=0; int i; for(i=len-1;i>=0;i--) if(*(p+i)>='A'&&*(p+i)<='F')sum=sum+(*(p+i)-'A'+10)*pow(16,len-i-1); else if(*(p+i)>='0'&&*(p+i)<='9')sum=sum+(*(p+i)-'0')*pow(16,len-i-1); return sum; } int main() { char*a[10]; int i,len=0,n; scanf("%d",&n); for(i=0;i<n;i++) { a[i]=(char*)malloc(LEN); scanf("%s",a[i]); } for(i=0;i<n;i++) { len=strlen(a[i]); printf("%o\n",change16to10(a[i],len)); } for(i=0;i<n;i++) free(a[i]); return 0; }

输入一个十进制整数,依次转换成2到16进制数

求大神帮帮忙做一下 我刚刚学C语言 程序代码 弄了好久都没弄出来 大神帮忙编一个程序代码 ,谢谢了

输入一个十进制数N,将它转换成R进制数输出这道题目用C语言的程序代码编写怎么实现的呢?

Problem Description 输入一个十进制数N,将它转换成R进制数输出。 Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。 Output 为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。 Sample Input 7 2 23 12 -4 3 Sample Output 111 1B -11

C语言字符串的定义问题

问题描述:   给定n个十六进制正整数,输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n (1<=n<=10)。   接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式   输出n行,每行为输入对应的八进制正整数。 **这是我遇到的问题,我的想法是: 做一个像数组一样的字符串,这样的话,像对数组处理的方式一样,利用遍历的方法,就可以直接对整个字符串进行处理了。可是如何定义呢? int n; scanf("%d",&n); string str[n]; //这样做,不对呀**

如何解决数组的空间不足的问题

* 在一个进制转换的问题上卡了很久,十六进制转八进制,我是想先将十六进制转换成十进制,再将十进制转换成八进制。十六进制转十进制我可以很好实现,就是将字符串逐一取出求出权值就行。问题在十进制转八进制上。因为在数学上, * 十进制转八进制就是该数求余再倒序,问题就出在这。 * 为实现将数倒序,我得先将数放在数组里,再将数组进行逆向输出。可是数组是创建时就初始化好空间大小的,当所转换的数非常大时数组都无法满足时就错了,想请问是否有更好的方法解决?或者当数组的使用遇到空间上的问题是有没有什么好的处置方法?求教~~~ 以下献上十六进制转八进制代码(请大家对我的代码多多指正,初学者比较生疏,谢谢~): ``` //多次运算十六进制转八进制 import java.util.*; public class BASIC_12_3_3 { public static void main(String args[]){ int n,tag=0; long sum=0,b,tmp=1,k,c; String H[] = new String[11]; Scanner sc = new Scanner(System.in); n = sc.nextInt(); for(int i=0;i < n;i++){ H[i] = sc.next(); } for(int z=0;z < n;z++){ int i = 0; //十六进制转成十进制 for(int j=H[z].length()-1;j >= 0;j--){ b = H[z].charAt(j); if(b>='0' && b<='9'){ b = (b - '0') * tmp; sum = sum + b; tmp = tmp * 16; } else if(b>='A' && b<='F'){ b = (b - 'A' + 10) * tmp; sum = sum + b; tmp = tmp * 16; } } //此处得出该数的十进制sum,以下是十进制转八进制 if(sum>=0 && sum<8){ System.out.print(sum); } else if(sum >= 8){ k = sum; long list[] = new long[20];//此处用数组进行逆序输出,但容易出现数据溢出 while(k != 0){ c = k % 8; list[i] = c; k = k / 8; i ++; } if(k == 0){ list[i] = k; } //以上数制转换完毕,以下是进行逆向输出 for(int j=list.length - 1;j >= 0;j--){ if(list[j] == 0){ }else if(list[j] != 0){ tag = 1; } if(tag == 1){ System.out.print(list[j]); } } System.out.println(); } sum = 0;//sum置零!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! tag = 0; tmp = 1; } } } ```

C语言问题求解答!!!!

绝对素数是指本身是素数,其逆序数也是素数的数。例如:10321与12301是绝对素数。 编程实现:键盘输入一个整数n,输出小于n的所有绝对素数。 要求:编写函数int isprime(int x)实现测试参数x是否为素数;编写函数int convert(int x),返回参数x的逆序数。main中完成输入输出与函数调用。 编写十进制数到二进制、八进制、十六进制间的转换程序。要求:键盘输入一个十进制的数,输出其对应的二进制、八进制、十六进制数。小数部分可以只输出8位以内

C语言编程,怎么将0-255转化到0-64

例如,输入为0-255的整数,通过公式换算或者函数处理后,可得到0-64的整数,换算比率可以不为等比列,等比列最好,不能等比列的话,进率不能相差太多

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

150讲轻松搞定Python网络爬虫

150讲轻松搞定Python网络爬虫

实用主义学Python(小白也容易上手的Python实用案例)

实用主义学Python(小白也容易上手的Python实用案例)

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

立方体线框模型透视投影 (计算机图形学实验)

计算机图形学实验 立方体线框模型透视投影 的可执行文件,亲测可运行,若需报告可以联系我,期待和各位交流

2019 AI开发者大会

2019 AI开发者大会

组成原理课程设计(实现机器数的真值还原等功能)

实现机器数的真值还原(定点小数)、定点小数的单符号位补码加减运算、定点小数的补码乘法运算和浮点数的加减运算。

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

MFC一站式终极全套课程包

该套餐共包含从C小白到C++到MFC的全部课程,整套学下来绝对成为一名C++大牛!!!

软件测试2小时入门

软件测试2小时入门

三个项目玩转深度学习(附1G源码)

三个项目玩转深度学习(附1G源码)

计算机图形学-球的光照模型课程设计

计算机图形学-球的光照模型,有代码完美运行,有课程设计书

Linux常用命令大全(非常全!!!)

Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考: 系统信息 arch 显示机器的处理器架构 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 d...

因为看了这些书,我大二就拿了华为Offer

四年了,四年,你知道大学这四年我怎么过的么?

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

fakeLocation13.5.1.zip

fakeLocation13.5.1 虚拟定位 ios13.5.1的最新驱动下载,iPhone/iPad免越狱虚拟定位工具Location-cleaned驱动已更新

UnityLicence

UnityLicence

Python可以这样学(第一季:Python内功修炼)

Python可以这样学(第一季:Python内功修炼)

Python+OpenCV计算机视觉

Python+OpenCV计算机视觉

土豆浏览器

土豆浏览器可以用来看各种搞笑、电影、电视剧视频

【数据结构与算法综合实验】欢乐连连看(C++ & MFC)案例

这是武汉理工大学计算机学院数据结构与算法综合实验课程的第三次项目:欢乐连连看(C++ & MFC)迭代开发代码。运行环境:VS2017。已经实现功能:开始游戏、消子、判断胜负、提示、重排、计时、帮助。

php+mysql学生成绩管理系统

学生成绩管理系统,分三个模块:学生,教师和管理员。 管理员模块:负责学生、老师信息的增删改;发布课程信息的增删改,以便让学生选课;审核老师提交的学生成绩并且打印成绩存档;按照课号查询每个课号的学生成绩

多功能数字钟.zip

利用数字电子计数知识设计并制作的数字电子钟(含multisim仿真),该数字钟具有显示星期、24小时制时间、闹铃、整点报时、时间校准功能

推荐24个国外黄色网站欣赏

在中国清朝,明黄色的衣服只有皇子才有资格穿,慢慢的黄色在中国就成了高贵的颜色。在人们的色彩印象中,黄色也表现为暂停。所以当你的网页设计采用黄色的时候,会让人们在你的网页前停留。 黄色,就像橙色和红色,黄色也是一个暖色。它有大自然、阳光、春天的涵义,而且通常被认为是一个快乐和有希望的色彩。黄色是所有色相中最能发光的颜色,给人轻快,透明,辉煌,充满希望的色彩印象。 黄色是一个高可见的色...

u-boot-2015.07.tar.bz2

uboot-2015-07最新代码,喜欢的朋友请拿去

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

学生成绩管理系统(PHP + MYSQL)

做的是数据库课程设计,使用的php + MySQL,本来是黄金搭配也就没啥说的,推荐使用wamp服务器,里面有详细的使用说明,带有界面的啊!呵呵 不行的话,可以给我留言!

Windows版YOLOv4目标检测实战:训练自己的数据集

Windows版YOLOv4目标检测实战:训练自己的数据集

C++语言基础视频教程

C++语言基础视频教程

玩转Python-Python3基础入门

玩转Python-Python3基础入门

2019校招硬件乐鑫+比特大陆笔试题

楼主水硕一枚,参加了2019年的秋招。自己总结了下乐鑫的笔试题目(现场笔试)以及网上考试的比特大陆的题目

成年人用得到的6款资源网站!各个都是宝藏,绝对让你大饱眼福!

不管是学习还是工作,我们都需要一些资源帮助我们有效地解决实际问题。 很多人找资源只知道上百度,但是你们知道吗,有的资源是百度也搜索不出来的,那么今天小编就给大家介绍几款好用的资源网站,大家赶紧收入囊中吧! 1.网盘007 https://wangpan007.com/ 一款全能的资源搜索网站!只需要输入关键字,就能获得你想要的视频、音乐、压缩包等各种资源,网上...

相关热词 c# 开发接口 c# 中方法上面的限制 c# java 时间戳 c#单元测试入门 c# 数组转化成文本 c#实体类主外键关系设置 c# 子函数 局部 c#窗口位置设置 c# list 查询 c# 事件 执行顺序
立即提问
相关内容推荐