如何使用cout将十六进制转为十进制
如果是将十进制转为十六进制可以这么写:cout<<"输入十进制整数:";
int a;
cin>>a;
cout<<hex<<a<<endl;
因为输入的是十进制可以用int来表示
我知道可以通过cout<<dex<<a输出十进制,但输入的十六进制该定义为何种类型呢?
我试过了整型和字符串数组都不可以,因为输入的是0x1A这类数据。 既然是整数那么定义int型是没问题的。
#include <iostream>
using namespace std;
int main()
{
cout<<"输入十进制整数:";
int a;
cin >> hex >>a;
cout << "0x"<< hex << a << endl;
return 0;
}
结果:
输入十进制整数:0x66
0x66
Press any key to continue newu 发表于 2019-7-1 20:35
既然是整数那么定义int型是没问题的。
结果:
现在是要求输入十六进制,然后转换成十进制,所以我对于存放十六进制的变量类型就不知道了 FinalDestiny117 发表于 2019-7-1 21:54
现在是要求输入十六进制,然后转换成十进制,所以我对于存放十六进制的变量类型就不知道了
如果输出十进制直接cout << a <<endl;就好了
都是int型来存放的。 newu 发表于 2019-7-1 22:04
如果输出十进制直接cout
cout<<"输入十六进制整数:";
int a;
cin>>a;
cout<<dec<<a<<endl;
我试过了这样不行,测试数据是0x1A的话输出只有0 FinalDestiny117 发表于 2019-7-2 02:00
我试过了这样不行,测试数据是0x1A的话输出只有0
代码(加不加dec都没关系):
int main()
{
cout<<"请输入一个十六进制数:";
int a;
cin >> hex >>a;
cout << dec<< a << endl;
return 0;
}
结果:
请输入一个十六进制数:0x66
102
Press any key to continue newu 发表于 2019-7-2 08:46
代码(加不加dec都没关系):
结果:
解决了,3Q~
页:
[1]