【发布时间】:2012-07-18 13:54:47
【问题描述】:
我想添加两个十六进制值来得到一个十六进制结果我已经编写了以下代码但是当我打印结果的值时,结果值是写入例如"abc" ->61+62+63=186 但是在写入jk ->6a+6b 时我应该得到一些东西像 d5 但它给出了 12。
这是我写的代码:
我还将全局变量定义为
char buffer[20];
long int li ;
for (int i = 0; i < length; ++i) {
itoa(TextAlia[i], buffer, 16);
li = li + atol (buffer);
}
【问题讨论】:
-
表示
6a(十六进制)152(八进制)、1101010(二进制)和106(十进制)只是需要其适当上下文进行操作的符号。通常,标准数学函数仅适用于 十进制 表示,因此您需要将 数字表示 转换为十进制(并返回)。