请教C++10进制数转换为16进制数的问题
现有 a=68(十进制)
保存在变量 b(十六进制)中
然后输出 b(值为3f)
请问在C++中没有直接转换的吗?
cout<<std::hex<<a<<endl;
这样的语句是可以输出,但是怎么将这个结果保存在变量b中呢?
谢谢大家的帮助!
[解决办法]
数字在内存中的保存都是2进制的。。没有分变量是十还是十六进制的。。
除非你的b是一个字符串,你要a的十六进制表示的串还差不多。。
[解决办法]
char strb[20] = {0};
sprintf(strb,"%X",a);
std::cout<<strb;