为什么用printf("%I64X",a+b); 不能输出十六进制负数?求大神解答一下。
#include<iostream>
using namespace std;
int main(){
signed __int64 a,b;
while(scanf("%I64X%I64X",&a,&b)!=EOF){
if(a+b>=0)
printf("%I64X\n",a+b);
else
printf("-%I64X\n",-a-b);
}
return 0;
}