user-0 提问: 99孩子8(´;︵;`)

回复:
user: user-1
content: http://nianjian.xiaze.com/tags.php?/%E4%B8%AD%E5%9B%BD%E6%B5%81%E5%8A%A8%E4%BA%BA%E5%8F%A3%E5%8F%91%E5%B1%95%E6%8A%A5%E5%91%8A/1/13582811678/

user: user-2
content: 楼主需要什么语言的呀

user: user-0
content: 引用 38 楼 wzh0817的回复:楼主需要什么语言的呀 谢谢，已经解决了

user: user-0
content: 引用 37 楼 软箭攻城狮的回复:搞个数组存起来，然后再换算，不然非定长的情况下转换会出错   另外，自己的作业自己做 错误的地方已经找到了，谢谢了。

user: user-3
content: int hextoint(string hexs) {     int value = 0;     for (int i = 0 ; i < hexs.size() ; i++)     {         if (hexs[i] >= '0' && hexs[i] <= '9')             value += (hexs[i]-'0');         else if (hexs[i] >= 'a' && hexs[i] <= 'f')             value += (hexs[i] - 'a') + 10;         else if (hexs[i] >= 'A' && hexs[i] <= 'F')             value += (hexs[i] - 'A') + 10;         else             return -1;         if (i < (hexs.size() -1))             value = value << 4;     }     return value; }

user: user-4
content: 引用 34 楼 m0_46387131的回复:[quote=引用 17 楼 ?Victor.??的回复:][quote=引用 11 楼 ?Victor.?? 的回复:] #include<stdio.h> #include<string.h> #include<math.h> int main() { 	char c[10]; 	int i,len; 	long long int a; 	printf("输入十六进制数\n"); 	gets(c); 	len = strlen(c); 	for(i = 0;i < len;i++) 	{ 		if(len-i > 1) 			a+=15*pow(16,(len-1-i)); 		else 			switch(c[i]) 			{ 				case 'F': a+=15;break; 				case 'E': a+=14;break; 				case 'D': a+=13;break; 				case 'C': a+=12;break; 				case 'B': a+=11;break; 				case 'A': a+=10;break;  				case '9': a+=9;break;  				case '8': a+=8;break; 				case '7': a+=7;break;  				case '6': a+=6;break;  				case '5': a+=5;break;  				case '4': a+=4;break;  				case '3': a+=3;break;  				case '2': a+=2;break;  				case '1': a+=1;break;  			} 	} 	printf("%lld",a); 	return 0; } 这么简单粗暴的都不对吗[/quote] 太简单粗暴了，好流氓啊[/quote] 在不  私聊呗

user: user-5
content: 搞个数组存起来，然后再换算，不然非定长的情况下转换会出错   另外，自己的作业自己做

user: user-6
content: #include <stdio.h> int main(int argc, char *argv[]) { char hex[1024] = { 0 }; int result = 0; scanf("%s", hex); sscanf(hex, "%x", &result); printf("%d\n", result); return 0; }

user: user-7
content: 我用#CSDN#这个app发现了有技术含量的博客，小伙伴们求同去《十进制整数如何转化为二进制、十六进制？》, 一起来围观吧 https://blog.csdn.net/weixin_45662626/article/details/101509169?utm_source=app 按照里面的把程序反过来写就行了

user: user-8
content: #include<iostream.h> #include<stdlib.h> #define MAX 30 int main(void) { char str[MAX],*p; //从键盘上输入int数 cout<<"Please input a int:"<<endl; int n; cin>>n; //将整型数n按十进制转换为字符串并输出 p=itoa(n,str,10); cout<<"str="<<str<<endl; cout<<"p="<<p<<endl; //将整型数n按十六进制转换为字符串并输出 p=itoa(n,str,16); cout<<"str="<<str<<endl; cout<<"p="<<p<<endl; cout<<"Please input a double:"<<endl; double x; cout<<"x="; cin>>x; p=gcvt(x,10,str); cout<<"str="<<str<<endl; cout<<"p="<<p<<endl; return 0; }

user: user-9
content: #include<iostream>   #include<string>   #include<math.h>   using namespace std;    int main()   {       string s;       int i=0,count,sum;       while(getline(cin,s))       {           int count=s.length();           sum=0;           for(i=count-1;i>=0;i--)//从十六进制个位开始，每位都转换成十进制           {               if(s[i]>='0'&&s[i]<='9')//数字字符的转换               {                   sum+=(s[i]-48)*pow(16,count-i-1);               }               else if(s[i]>='A'&&s[i]<='F')//字母字符的转换               {                   sum+=(s[i]-55)*pow(16,count-i-1);               }           }           cout<<sum;       }   }

user: user-10
content: int(‘十六进制字符串’,16)

user: user-11
content: 引用 17 楼 ?Victor.??的回复:[quote=引用 11 楼 ?Victor.?? 的回复:] #include<stdio.h> #include<string.h> #include<math.h> int main() { 	char c[10]; 	int i,len; 	long long int a; 	printf("输入十六进制数\n"); 	gets(c); 	len = strlen(c); 	for(i = 0;i < len;i++) 	{ 		if(len-i > 1) 			a+=15*pow(16,(len-1-i)); 		else 			switch(c[i]) 			{ 				case 'F': a+=15;break; 				case 'E': a+=14;break; 				case 'D': a+=13;break; 				case 'C': a+=12;break; 				case 'B': a+=11;break; 				case 'A': a+=10;break;  				case '9': a+=9;break;  				case '8': a+=8;break; 				case '7': a+=7;break;  				case '6': a+=6;break;  				case '5': a+=5;break;  				case '4': a+=4;break;  				case '3': a+=3;break;  				case '2': a+=2;break;  				case '1': a+=1;break;  			} 	} 	printf("%lld",a); 	return 0; } 这么简单粗暴的都不对吗[/quote] 太简单粗暴了，好流氓啊

user: user-12
content: 巧了，我今天刚写了博客16进制转10进制， c++写的，希望对你有帮助。  我用#CSDN#这个app发现了有技术含量的博客，小伙伴们求同去《试题 基础练习 十六进制转十进制》, 一起来围观吧 https://blog.csdn.net/a806689294/article/details/104479697?utm_source=app

user: user-8
content: 引用 28 楼 csdn_666666666的回复:#include<iostream.h> #include<stdlib.h> #define MAX 30 int main(void) { char str[MAX],*p; //从键盘上输入int数 cout<<"Please input a int:"<<endl; int n; cin>>n; //将整型数n按十进制转换为字符串并输出 p=itoa(n,str,10); cout<<"str="<<str<<endl; cout<<"p="<<p<<endl; //将整型数n按十六进制转换为字符串并输出 p=itoa(n,str,16); cout<<"str="<<str<<endl; cout<<"p="<<p<<endl; cout<<"Please input a double:"<<endl; double x; cout<<"x="; cin>>x; p=gcvt(x,10,str); cout<<"str="<<str<<endl; cout<<"p="<<p<<endl; return 0; } goodgood

user: user-0
content: 引用 24 楼 寻开心的回复:你这个答案会上楼上的人都发疯的 哈哈哈哈哈哈

user: user-13
content: 你这个答案会上楼上的人都发疯的

user: user-0
content: 引用 22 楼 寻开心的回复:scanf("%x", &a); printf("%u", a);    输入格式： 十六进制（非负数） 这个不是要你检测它是不是负数，而是告诉你输入的不是负数吧。 按照这个理解输出无符号整数就好了吧 ok,好了。真大神>o<

user: user-13
content: scanf("%x", &a); printf("%u", a);    输入格式： 十六进制（非负数） 这个不是要你检测它是不是负数，而是告诉你输入的不是负数吧。 按照这个理解输出无符号整数就好了吧

user: user-0
content: 引用 20 楼 ?Victor.??的回复:[quote=引用 18 楼 weixin_46371549 的回复:] [quote=引用 17 楼 ?Victor.??的回复:][quote=引用 11 楼 ?Victor.?? 的回复:] #include<stdio.h> #include<string.h> #include<math.h> int main() { 	char c[10]; 	int i,len; 	long long int a; 	printf("输入十六进制数\n"); 	gets(c); 	len = strlen(c); 	for(i = 0;i < len;i++) 	{ 		if(len-i > 1) 			a+=15*pow(16,(len-1-i)); 		else 			switch(c[i]) 			{ 				case 'F': a+=15;break; 				case 'E': a+=14;break; 				case 'D': a+=13;break; 				case 'C': a+=12;break; 				case 'B': a+=11;break; 				case 'A': a+=10;break;  				case '9': a+=9;break;  				case '8': a+=8;break; 				case '7': a+=7;break;  				case '6': a+=6;break;  				case '5': a+=5;break;  				case '4': a+=4;break;  				case '3': a+=3;break;  				case '2': a+=2;break;  				case '1': a+=1;break;  			} 	} 	printf("%lld",a); 	return 0; } 这么简单粗暴的都不对吗[/quote] int a； scanf（”%x”，&a）； printf（”%d”，a）； 这种不可以吗？也挺简单的。就是不知道哪有错[/quote] 有可能那个平台比较智能，屏蔽了这种捡漏行为[/quote] 就是pta啊，真恶心这平台