如果都是整型值,不需要转换,因为8进制 16进制 10进制只是不同的写法 值是相同的。直接赋值即可。如果是字符串 可以用sscanf 八进制用%o 16进制用%x 比如 char s[10] = "11";//8进制。int a;sscanf(s,"%o", &a);执行后 a=9 类似的 char s[10] = "11";//16进制。int a;sscanf...
把一个八进制转换成十进制采用方法:把这个八进制的最后一位乘上80,倒数第二位乘上81,……,一直到最高位乘上8n,然后将各项乘积相加的结果就它的十进制表达式。把八进制36转换为十进制(36)8=3*81+6*80=24+6=(30)10把一个十六进制转换成十进制采用方法:把这个十六进制的最后一位乘上160,倒数第二位乘上1...
1. 选择一个底数,即十六进制。在十六进制中,底数为16。2. 将十进制数除以16,记录余数。3. 如果余数小于10,则直接作为十六进制数的一部分;如果余数为10到15之间的某个值,则将其转换为相应的十六进制字母(A到F)。4. 将商再次除以16,继续执行步骤2和3,直到商为0。5. 将所有记录的余数...
第一种:用来糊弄老师的,输入一个数采用16进制格式输出 include <stdio.h> int main(){ int num = 0;scanf("%d", &num);printf("%x", num);return 0;} 第二种:include <stdio.h> include <string.h> char oNumTable[6] = {'A', 'B', 'C', 'D', 'E', 'F'};void dTo...
我们刚学了栈,我做了一个任意进制转换的程序,你看一下,,即使你没学,但思想是一样的 假入你输入的是m,可在设一个数组用来装余数,完整程序如下:include<stdio.h> void main(){ int a[10],m,i=0;printf("please ennter a number\n");scanf("%d",&m);while(m!=0){ a[i++]...
思路:十进制整数转换为十六进制整数采用"除16取余,逆序排列"法。具体做法是:用16整除十进制整数,可以得到一个商和余数;再用16去除商,又会得到一个商和余数,如此进行,直到商为0时为止,然后把先得到的余数作为十六进制数的低位有效位,后得到的余数作为十六进制数的高位有效位,依次排列起来。参...
第一种:用来糊弄老师的,输入一个数采用16进制格式输出 include <stdio.h> int main(){ int num = 0;scanf("%d", &num);printf("%x", num);return 0;} 第二种:include <stdio.h> include <string.h> char oNumTable[6] = {'A', 'B', 'C', 'D', 'E', 'F'};void d...
我们刚学了栈,我做了一个任意进制转换的程序,你看一下,,即使你没学,但思想是一样的 假入你输入的是m,可在设一个数组用来装余数,完整程序如下:include<stdio.h> void main(){ int a[10],m,i=0;printf("please ennter a number\n");scanf("%d",&m);while(m!=0){ a[i++]...