【发布时间】:2020-02-19 12:05:29
【问题描述】:
我写的十六进制到十进制数的转换是有效的,但得到了一些意想不到的结果。
预期结果:十六进制数“0000000F”,输出为十进制“15”
就我而言
1] 如果 "0000000F" 是 HEX 值并且它的转换是 "1532"
2] 如果 "000000FF" 是 HEX 值并且它的转换是 "25532"
我不确定编程的哪一部分是错误的?每次我得到“32”后的任何十进制值结果。谁能建议如何解决这个问题?
#include <iostream>
using namespace std ;
#include <sstream>
int wmain() {
while(1)
{
int binNumber ;
unsigned int decimal;
string hexString = "0000000F"; //you may or may not add 0x before
stringstream myStream;
myStream <<hex <<hexString;
myStream >>binNumber;
cout <<binNumber <<decimal;
//return 0;
}
}
【问题讨论】:
-
您将
decimal发送至cout。但是decimal已声明但未初始化;也许它的值恰好是 32?
标签: c++ visual-studio type-conversion hex decimal