我有char [HEX]数组。我不知道如何将它们转换为整数。 有人给我一个想法吗?
我的编码:
char Hex[] = {'01', '0D'};
int a = (int(Hex[0]) >> 8)+ int(Hex[1]);
int b = (Hex[0] << 8) | Hex[1];
cout << "a: " << a << " b: " << b;
输出:
a: 68 b: 12612
我想输出应该是:
269
答案 0 :(得分:1)
您完全缺少的是ASCII转换。
'f'
是一个字符,值为0x6f。显然这与0x0f
不一样。
答案 1 :(得分:0)
你的问题很难弄明白。我想这就是你想要的。以下是将15转换为F和F为15的方法。我希望这就是你所要求的
#include<iostream>
#include<sstream>
int main(){
// decimal to hex
std::cout << std::hex << 15 << std::endl;
// hex to decimal
int mydecimal;
std::istringstream("f") >> std::hex >> mydecimal;
std::cout << std::dec << mydecimal << std::endl;
// hex to decimal method 2
std::cout << std::dec << 0xf << std::endl;
}