我有一个 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
我有一个 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
您完全缺少的是 ASCII 转换。
'f'
是一个字符,值为 0x6f。显然,这与0x0f
.
你的问题很难弄清楚。我想这就是你想要的。以下是将 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;
}