1234567 #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int num1,num2,num3; scanf("%o%d%x",&num1,&num2,&num3); printf("8进制为%o,转换为10进制为%d\n",num1,num1); printf("10进制为%d,转换为16进制为%x\n",num2,num2); printf("16进制为%x,转换...
1、输入字符串 3、反转字符串,并赋给字符串数组A 2、循环检测数组A,依次检测1每个字符 5、判断当前检测的字符,如果属于ABCDEF,则依次把ABCDEF 转换为11...16,否则不做任何操作 6、累加,当前循环次数的16次方乘以当前字符的数值大小。7、输出总累加值就是10进制整数 ...
n=n*16+s[i]-'a'+10;if(s[i]>='A'&&s[i]<='G')n=n*16+s[i]-'A'+10;} else if(!is8) //确认不是8进制 { for(n=0,i=0;s[i];i++)n=n*10+s[i]-'0';} return n;} void main(){char s[20];gets(s);printf("%ld",str2int(s));} ...
可以通过int 或long int存储,16进制整数说到底还是整数,16进制只是一种记数方式。例如,int x=0x16; 十六进制(hexadecimal)只是计算机中数据的一种表示方法,规则是“逢十六进一”,并不影响数据的存储。任何数据在计算机中存储的都只是二进制(0/1)数据,只是根据需要输出时相应调整即可。 参考: https://zhidao.baid...