0

我有一个 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
4

2 回答 2

1

您完全缺少的是 ASCII 转换。

'f'是一个字符,值为 0x6f。显然,这与0x0f.

于 2013-04-11T04:37:13.713 回答
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;
}
于 2013-04-11T04:29:20.280 回答