我想在十六进制中添加一个数组。我已经这样做了,但是我在添加函数中遇到问题;它不添加,但显示一些图片。C++中的十六进制加法
void addition(char hexDecOne[10], char hexDecTwo[10], char (&hexDecSum)[10]) {
for (int i = 0; i < 10; i++) {
// convert to decimal and add both array values
hexDecSum[i] = convert(hexDecOne[i]) + convert(hexDecTwo[i]);
// add values and if they are greater than F add 1 to next value
hexDecSum[i + 1] += hexDecSum[i]/16;
hexDecSum[i] %= 16;
}
}
int convert(char item) {
switch (item) {
case 'A':
return 10;
break;
case 'B':
return 11;
break;
case 'C':
return 12;
break;
case 'D':
return 13;
break;
case 'E':
return 14;
break;
case 'F':
return 15;
break;
}
}
任何帮助将不胜感激。
IMO更好的方法是将您的数字转换成基10,在本地执行的运算数学运算,然后将其转换的结果。 – Bathsheba
它在哪里显示“图片”? – JeffRSon
我应该添加一个数字高达10位数,这是不可能在int #Bathsheba –